2010-11-07 3 views
3

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?

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.

+0

Très intéressant lire (jusqu'à présent ...) merci pour le lien :) –

Questions connexes