Disons que je recherche "bébé". Sphinx saisira tous les documents qui ont "bébé" dedans, et puis triera en utilisant mon propre algorithme. (Mode EXTENDED). La question est, comment peut-il trier si rapidement? Comment attrape-t-il des millions d'enregistrements et les trient en quelques millisecondes?Comment Sphinx peut-il faire son tri si rapidement?
3
A
Répondre
9
Oh, vous posez des questions sur la magie. Sphinx (et Lucene, et beaucoup d'autres moteurs de recherche) utilisent un inverted index. Fondamentalement, chaque document est découpé en jetons; L'index de recherche consiste en un mappage de jetons vers des documents appelés the postings list. Le traitement d'une requête consiste à parcourir les listes d'écritures des termes de la requête et à localiser les documents correspondants. Pour rendre cela plus rapide, les jetons sont stockés sous la forme d'une liste d'entiers. Cela peut être rendu encore plus efficace par compressing the index.
Très intéressant lire (jusqu'à présent ...) merci pour le lien :) –