Best full text search for mysql?
- by ConroyP
We're currently running MySQL on a LAMP stack and have been looking at implementing a more thorough, full-text search on our site.
We've looked at MySQL's own freetext search, but it doesn't seem to cope well with large databases, which makes it far too slow for our needs.
Our main requirements are:
speed returning results
simple updating of index
In addition to the above, our "nice to have"s are:
ideally not something that requires adding a module to MySQL
plays nicely with PHP (majority of our dev work done using PHP)
There seems to be quite a few healthy open-source projects to add fast, reliable full-text search to MySQL, so I'm basically looking for recommendations/suggestions on what you've found to be the most useful product out there, easiest to set up, etc.
So far, the list of ones we've been starting to play around with are:
Sphinx, C++ based, used by craigslist, thepiratebay
Lucene, Java-based Apache project, powers zeoh.com and zoomf.com
Solr, Java-based offshoot of Lucene, used to power searches on Digg, CNet & AOL Channels
Are there any better ones out there that we haven't come across yet? Can you recommend / suggest against any of the options we've gathered so far?
Thanks for your help!
Update
@Cletus suggested Google's Custom Search Engine. We recently trialled this on a couple of projects, and it's an almost-perfect fit for our needs. The problem is that entries on our site are updated quite regularly, and unfortunately the speed at which entries go in/get updated in Google's index was just too slow and erratic for us to rely on, even with the addition of sitemaps and requested crawl rate changes.