Sphinx is a full-text search engine that's fast, relevant, has native support for indexing SQL databases, can talk its own SQL dialect, and got a bunch of other advanced features.
License : publicly distributed under GPL version 2 &
Commercial licensing (eg. for embedded use) is available upon request.
Access Methods:
Applications can access Sphinx search daemon (searchd) using any of the three different access methods:
a) via native search API (SphinxAPI),
b) via Sphinx own implementation of MySQL network protocol (using a small SQL subset called SphinxQL), or
c) via MySQL server with a pluggable storage engine (SphinxSE).
Supported Databases : MySQL, PostgreSQL, MSSQL, Oracle.
Supported Languages: Java, PHP, Perl ,Ruby, C and Python.
Supported Operating systems:
i. Linux 2.4.x, 2.6.x (many various distributions)
ii. Windows 2000, XP
iii. FreeBSD 4.x, 5.x, 6.x, 7.x
iv NetBSD 1.6, 3.0
v Solaris 9, 11
vi Mac OS X
(For detailed description go through http://sphinxsearch.com/docs/2.0.4/ )
ADVANTAGES (KEY FEATURES)
Key Sphinx features are:
1. high indexing and searching performance.
2. advanced indexing and querying tools (flexible and feature-rich text t
tokenizer, querying language, several different ranking modes, etc).
3. advanced result set post-processing (SELECT with expressions, WHERE, ORDER BY, GROUP BY etc over text search results).
4. proven scalability up to billions of documents, terabytes of data, and thousands of queries per second.
5. easy integration with SQL and XML data sources, and SphinxAPI, SphinxQL, or SphinxSE search interfaces.
6. easy scaling with distributed searches.
7. has high indexing speed (upto 10-15 MB/sec per core on an internal benchmark).
8. has high search speed (upto 150-250 queries/sec per core against 1,000,000 documents, 1.2 GB of data on an internal benchmark).
9. has high scalability (biggest known cluster indexes over 3,000,000,000 documents, and busiest one peaks over 50,000,000 queries/day).
10.provides good relevance ranking through combination of phrase proximity ranking and statistical (BM25) ranking.
11.provides distributed searching capabilities.
12.provides document excerpts (snippets) generation.
13.provides searching from within application with SphinxAPI or SphinxQL interfaces, and from within MySQL with pluggable SphinxSE storage engine.
14.supports boolean, phrase, word proximity and other types of queries.
15.supports multiple full-text fields per document (upto 32 by default).
16.supports multiple additional attributes per document (ie. groups, timestamps, etc).
17.supports stopwords, morphological word forms dictionaries, tokenizing exceptions, both single-byte encodings and UTF-8
18.supports PostgreSQL, ODBC compliant databases (MS SQL, Oracle, etc), MySQL natively;
OTHER SEARCH ENGINES
LUCENE:
Lucene is a full-text search engine and open source .
Features:
a. Scalable and high performance indexing (Incremental indexing and
small RAM requirement- 1MB).
b. Powerful, Accurate and Efficient search Algorithms.
( Ranking mechanism, query mechanism,multiple indexing,
searching while update/add ).
License : Apache license(Open source).
Supported Langauges: Java, PHP, Perl, Ruby, Lisp, Delpi, C, C++,.NET .
Supported Documents : XML, HTML, Openoffice documents,
Word documents.
SPHINX vs LUCENE
1. Lucene beats Sphinx on features.
2. Sphinx beats lucene on performance,indexing and querying.
3. Sphinx supports real time indexing, database indexing, which is
not directly supported by lucene.
4. sphnix indexes occupy more space as compared to luence indexes.
But as sphinix is real time search engine library so it is fast as compared
to lucene.
2. SPHIDER:
Sphider is a full-text search engine and open source . Its language dependent
this is built for PHP.
-PAVANKUMAR JOSHI