Sphinx is a free standalone full-text search engine. It is fast, efficient, and easily integrates with SQL databases and programming major programming languages. It is ideal for use with MySQL, PostgreSQL, PHP, Python, Perl and Ruby. Although Sphinx works well with Java but Lucene is better option for Java.
Following is a summary of features (copied from http://www.sphinxsearch.com)
- high indexing speed (upto 10 MB/sec on modern CPUs)
- high search speed (avg query is under 0.1 sec on 2-4 GB text collections)
- high scalability (upto 100 GB of text, upto 100 M documents on a single CPU)
- provides good relevance ranking through combination of phrase proximity ranking and statistical (BM25) ranking
- provides distributed searching capabilities
- provides document exceprts generation
- provides searching from within MySQL through pluggable storage engine
- supports boolean, phrase, and word proximity queries
- supports multiple full-text fields per document (upto 32 by default)
- supports multiple additional attributes per document (ie. groups, timestamps, etc)
- supports stopwords
- supports both single-byte encodings and UTF-8
- supports English stemming, Russian stemming, and Soundex for morphology
- supports MySQL natively (MyISAM and InnoDB tables are both supported)
- supports PostgreSQL natively