RailsCasts Pro episodes are now free!
Learn more or hide this
GitHub User: dpwildboar
another thing that people might want to play around with is partial match. searching for 'jun' with the blog-after code will get
SELECT "articles".* FROM "articles" WHERE (to_tsvector('english', name) @@ to_tsquery('jun') or to_tsvector('english', content) @@ to_tsquery('jun')) ;
id | author_id | name | content | published_at | created_at | updated_at
where as the following will get Superman (content has the word june) and Robin (junior) as a result
SELECT "articles".* FROM "articles" WHERE (to_tsvector('english', name) @@ to_tsquery('jun:*') or to_tsvector('english', content) @@ to_tsquery('jun:*')) ;
also, there is an additional contrib, pg_trgm, that can help with partial searching:
and can also do similarity.
like unaccent, pg_trgm is not built by default for a postgres install.
"When building from the source distribution, these modules are not built automatically, unless you build the "world" target (see step 2)."
unaccent is not built by default for a postgres install. this might be the issue.
if your using rvm, you can't just:
rvm use 1.9.3 --default
you need to state the gemset too, thus having an accepted .rvmrc that states the gemset is important.
rvm use email@example.com --default
seems to work also. if you don't then you get log messages that are along the lines of: "cannot load such file -- bundler/setup"
at least that was my experience with using the above version of ruby and rails.
also, the whenever gem would default to production. so if your running whenever in development you want to also state:
bundle exec whenever --set 'environment=development' -w