Sphinx est un moteur de recherche en texte intégral basé sur SQL qui peut être combiné avec MySQL et PostgreSQL pour la recherche en texte intégral. Il peut fournir des fonctions de recherche plus professionnelles que la base de données elle-même, ce qui facilite la mise en œuvre d'une recherche en texte intégral professionnelle. Sphinx conçoit spécialement des interfaces API de recherche pour certains langages de script, tels que PHP, Python, Perl, Ruby, etc., et conçoit également un plug-in de moteur de stockage pour MySQL.
Un seul index Sphinx peut contenir jusqu'à 100 millions d'enregistrements, et la vitesse de requête pour 10 millions d'enregistrements est de 0,x seconde (millisecondes). La vitesse de création d'index par Sphinx est la suivante : il ne faut que 3 à 4 minutes pour créer un index de 1 million d'enregistrements, et cela peut être complété en 50 minutes pour créer un index de 10 millions d'enregistrements. Un index incrémentiel contenant uniquement les 100 000 derniers. les enregistrements doivent être reconstruits une fois. Cela ne prend que quelques dizaines de secondes.
Sphinx 2.0.4 a été publié. Cette version contient principalement des corrections de bugs. Il est recommandé aux utilisateurs qui utilisent l'indexation en temps réel de mettre à niveau dès que possible. Pour une liste détaillée des bugs corrigés, veuillez consulter ici .
Les principales fonctionnalités de Sphinx incluent :
Indexation à grande vitesse (près de 10 Mo/s sur les processeurs les plus récents) ;
Recherche à grande vitesse (la vitesse moyenne des requêtes est inférieure à 0,1 seconde pour un volume de texte 2-4G) ;
Haute disponibilité (un seul processeur peut prendre en charge jusqu'à 100 Go de texte et 100 millions de documents) ;
Fournir un bon classement par pertinence pour prendre en charge la recherche distribuée ;
Assurer la génération de résumés de documents ;
Fournit une prise en charge de la recherche pour les requêtes booléennes, d'expressions et de synonymes à partir du moteur de stockage de plug-ins dans MySQL ;
Prend en charge plusieurs champs de recherche en texte intégral pour chaque document (maximum par défaut 32) ;
Prend en charge plusieurs attributs par document ;
Prise en charge de la segmentation des mots ;
Prend en charge le codage sur un octet et le codage UTF-8 ;