Sphinx ist eine SQL-basierte Volltextsuchmaschine, die für die Volltextsuche mit MySQL und PostgreSQL kombiniert werden kann. Sie bietet professionellere Suchfunktionen als die Datenbank selbst und erleichtert so die Implementierung einer professionellen Volltextsuche für Anwendungen. Sphinx entwickelt speziell Such-API-Schnittstellen für einige Skriptsprachen wie PHP, Python, Perl, Ruby usw. und entwirft außerdem ein Speicher-Engine-Plug-in für MySQL.
Ein einzelner Sphinx-Index kann bis zu 100 Millionen Datensätze enthalten und die Abfragegeschwindigkeit für 10 Millionen Datensätze beträgt 0,x Sekunden (Millisekunden). Die Geschwindigkeit der Indexerstellung durch Sphinx beträgt: Es dauert nur 3 bis 4 Minuten, um einen Index mit 1 Million Datensätzen zu erstellen, und die Erstellung eines Index mit 10 Millionen Datensätzen kann in 50 Minuten abgeschlossen werden. Ein inkrementeller Index, der nur die letzten 100.000 enthält Datensätze müssen einmal neu erstellt werden. Dies dauert nur einige zehn Sekunden.
Sphinx 2.0.4 wurde veröffentlicht und enthält hauptsächlich Fehlerbehebungen. Benutzern, die die Echtzeitindizierung verwenden, wird empfohlen, so bald wie möglich zu aktualisieren. Eine detaillierte Liste der behobenen Fehler finden Sie hier .
Zu den Hauptmerkmalen von Sphinx gehören:
Hochgeschwindigkeitsindizierung (fast 10 MB/s auf neueren CPUs);
Hochgeschwindigkeitssuche (durchschnittliche Abfragegeschwindigkeit beträgt weniger als 0,1 Sekunden für 2-4G Textvolumen);
Hohe Verfügbarkeit (eine einzelne CPU kann bis zu 100 GB Text und 100 Millionen Dokumente unterstützen);
Stellen Sie ein gutes Relevanzranking bereit, um die verteilte Suche zu unterstützen.
Bereitstellung der Erstellung von Dokumentzusammenfassungen;
Bietet Suchunterstützung für boolesche, Phrasen- und Synonymabfragen von der Plug-in-Speicher-Engine in MySQL;
Unterstützt mehrere Volltextsuchfelder für jedes Dokument (Standard maximal 32);
Unterstützt mehrere Attribute pro Dokument;
Unterstützung der Wortsegmentierung;
Unterstützt Einzelbyte-Kodierung und UTF-8-Kodierung;