I'm looking for a stand-alone full-text search server with the following properties:

* Must operate as a stand-alone server that can serve search requests from multiple clients
* Must be able to do "bulk indexing" by indexing the result of an SQL query: say "SELECT id, text\_to\_index FROM documents;"
* Must be free software and must run on Linux with MySQL as the database
* Must be fast (rules out MySQL's internal full-text search)

The alternatives I've found that have these properties are:

* Solr (based on Lucene)
* ElasticSearch (also based on Lucene)
* Sphinx

My questions:

* How do they compare?
* Have I missed any alternatives?
* I know that each use case is different, but are there certain cases where I would definitely *not* want to use a certain package?