wbsurfver-/E1597aS9LQAvxtiuMwx3w@public.gmane.org
2009-Apr-30 20:45 UTC
how to search all fields for a string in SQL ?
Using SQL or activerecord I am not sure how to search all fields for a specific value ? I know how to do this by just writing ruby code. To do it in SQL or an activerecord find w/condition, I don''t know how. I actually am supposed to combine an find w/ condition and a search all fields for a value and AND those together. I think perhaps it can''t be done with a single find ?
wbsurfver-/E1597aS9LQAvxtiuMwx3w@public.gmane.org wrote:> Using SQL or activerecord I am not sure how to search all fields for a > specific value ? > I know how to do this by just writing ruby code. To do it in SQL or an > activerecord find w/condition, > I don''t know how. I actually am supposed to combine an find w/ > condition and a search all fields for a > value and AND those together. I think perhaps it can''t be done with a > single find ?What you''re probably looking for is a full-text search engine. Here''s an article I found using the Sphinx engine: http://www.neeraj.name/blog/articles/599-working-with-sphinx-fulltext-search-engine-using-ultrasphinx If you needs are pretty basic and you don''t mind a database specific implementation you can also look at MySQL''s full-text search capabilities. SQL was just not designed for such queries. -- Posted via http://www.ruby-forum.com/.
I would suggest going with the thinkingsphinx plugin instead of ultrasphinx. Thinkingsphinx''s syntax is much cleaner. http://ts.freelancing-gods.com/usage.html http://railscasts.com/episodes/120-thinking-sphinx On the other hand, if your dataset is small enough, you could try scoped-search, which helps you construct the SQL to perform your searches: http://wiki.github.com/wvanbergen/scoped_search But as Robert said, databases/SQL are not great for this type of queries and you may not be able to scale much when you have many conditions and/or big volumes of data. On Apr 30, 4:54 pm, Robert Walker <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> wbsurf...-/E1597aS9LQAvxtiuMwx3w@public.gmane.org wrote: > > Using SQL or activerecord I am not sure how to search all fields for a > > specific value ? > > I know how to do this by just writing ruby code. To do it in SQL or an > > activerecord find w/condition, > > I don''t know how. I actually am supposed to combine an find w/ > > condition and a search all fields for a > > value and AND those together. I think perhaps it can''t be done with a > > single find ? > > What you''re probably looking for is a full-text search engine. Here''s an > article I found using the Sphinx engine: > > http://www.neeraj.name/blog/articles/599-working-with-sphinx-fulltext... > > If you needs are pretty basic and you don''t mind a database specific > implementation you can also look at MySQL''s full-text search > capabilities. SQL was just not designed for such queries. > -- > Posted viahttp://www.ruby-forum.com/.