Sphinx is a SQL-based full-text search engine that can be combined with MySQL and PostgreSQL for full-text search. It can provide more professional search functions than the database itself, making it easier for applications to implement professional full-text search. Sphinx specially designs search API interfaces for some scripting languages, such as PHP, Python, Perl, Ruby, etc., and also designs a storage engine plug-in for MySQL.
A single Sphinx index can contain up to 100 million records, and the query speed for 10 million records is 0.x seconds (milliseconds). The speed of index creation by Sphinx is: it only takes 3 to 4 minutes to create an index of 1 million records, and it can be completed in 50 minutes to create an index of 10 million records. An incremental index containing only the latest 100,000 records needs to be rebuilt once. It only takes tens of seconds.
Sphinx 2.0.4 has been released. This version is mainly bug fixes. Users who use real-time indexing are recommended to upgrade as soon as possible. For a detailed list of fixed bugs, please see here .
Key features of Sphinx include:
High-speed indexing (nearly 10 MB/sec on newer CPUs);
High-speed search (average query speed is less than 0.1 seconds for 2-4G text volume);
High availability (a single CPU can support up to 100 GB of text and 100M documents);
Provide good relevance ranking to support distributed search;
Provide document summary generation;
Provides search support for Boolean, phrase, and synonym queries from the plug-in storage engine within MySQL;
Supports multiple full-text search fields for each document (default maximum 32);
Supports multiple attributes per document;
Support word segmentation;
Supports single-byte encoding and UTF-8 encoding;