Hey I have used Ferret, Sphinx and Solr all three of them in development 
as well as production environments.

If you want to stay out of all this debate about which search engine to 
use, avoid troubleshooting your search feature and make it zero 
maintenance and still get a great speed at indexing and searching(pros 
and cons), I would suggest you to go for Solr and acts_as_solr plugin.

I have compiled some points that I came across during my experience with 
RoR till date.

Ferret:-
Advantages:
1. Easy to implement.
2. Indexing on ActiveRecord save - It hooks up with the life cycle of an 
object.
Disadvantages:-
1. Corrupts indexes if used with Transactions in your apps because of 
its after_update filter.(It updates the index before the actual save to 
the database)
2. Unstable on the production server if you use some load balancing 
techniques like round-robbin scheme and you have instances of mongrel on 
different machines.
(Added burden to use a separate dRB server)
3. Faster at indexing but slower at searching.

Sphinx:-
Advantages:-
1. Great at speed of indexing and searching.
2. Its at the database level so just one copy of indexes unlike ferret.
Disadvantages:-
1. Difficult to integrate as compared to Ferret or Solr.
2. You have to write a lot of sql code in the configuration file for 
indexing and searching data.
3. Not hooked with the ActiveRecord save or the life cycle of an object, 
so you need a cron job to rebuild the index periodically.

Solr:-
Advantages:-
1. Easy to implement
2. Runs on a separate Java server(Solr server), so just one copy of 
indexes.
3. Hooked up with the object life cycle, so index update with 
ActiveRecord save.
4. Good speed at indexing and searching
5. No gem required, no engine installation......just get the 
Acts_as_solr plugin.
6. In-built support for highlighting search keywords like you see in 
Google Search and many more advanced features.
7. NONE of the disadvantages mentioned above
Disadvantages:-
1. It costs you just some extra memory but not an unbearable amount 
though.(I would say that now-a-days memory is cheaper, so you can afford 
it)

I personally would suggest you to go for Acts_As_Solr plugin.

You could also refer to the following links:-
http://bloggingrails.wordpress.com/2007/05/31/implementing-full-text-search-for-your-rails-application/
http://blog.aisleten.com/2007/04/14/getting-started-with-acts_as_solr/

If you decide to use Acts_as_solr on windows, this would be helpful:-
http://www.webonrails.com/2007/09/13/acts_as_solr-starting-solr-server-on-windows/
-- 
Posted via http://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Deploying Rails" group.
To post to this group, send email to rubyonrails-deployment@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-deployment?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to