We were turned on to Sphinx by smock over at Octopart. It enabled us to do our awesome drill down screens at Dawdle that set us apart from our online marketplace competitors: http://www.dawdle.com/search.php/1/1/Platform=Nintendo_DS/Vi... (No one else lets you screen by seller rating or price from the get go; only from the product pages themselves.)
It would be really neat to have a favored list of packages like this used by HN denizens. We used to use SWISH-E. Ugh.
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.
It depends on your queryset, but the incremental (and even the full) indexing is very fast. There are some benchmarks against lucene out there (e.g. http://ri.ms/pts ), but none that I've found against tsearch2.
It would be really neat to have a favored list of packages like this used by HN denizens. We used to use SWISH-E. Ugh.