sphinx is easily my go-to tool for fulltext indexing of any sizable data set. it:
* is *really* fast
* has excellent bindings (i use django-sphinx)
* is *extremely easy* to configure, and very flexible in its configuration
* fast indexing times
* excellent searching modes and search quality
* geoanchoring, including distance to/from point in results
the only thing i wish it had is fuzzy matching, but its wordforms support makes up for some of that.
fwiw, i found sphinx when looking to replace a client's awful half-arsed search implementation (over 10 years of data, with 30-50 new items being added daily), for someone who has only very seldom futzed w/ java, it was much easier and sane to audition sphinx first, instead of lucene or solr. i'd still love to take solr for a test drive, but sphinx has covered all my needs so far.