Tenir compte des résultats de recherche suivants:Comment les moteurs de recherche effectuent-ils le fonctionnement 'ET'?
- Google for 'David' - 591 millions coups sûrs en 0,28 sec
- Google for 'John' - 785 millions coups sûrs en 0,18 sec
OK. Les pages sont indexées, il suffit de rechercher le nombre et les premiers éléments de la table d'index, donc la vitesse est compréhensible.
considèrent maintenant la recherche suivante avec opération ET:
- Google for 'David John' ('David' ET 'John') - 173 millions frappe en 0,25 sec
Cela me fait tic tac ;) Comment les moteurs de recherche peuvent-ils obtenir le résultat des opérations ET sur des ensembles de données gigantesques si rapidement? Je vois les deux façons suivantes de mener la tâche et les deux sont terribles:
- Vous effectuez la recherche de 'David'. Prenez la gigantesque table temporaire et lancez une recherche sur "John". TOUTEFOIS, la table temporaire n'est pas indexée par 'John', donc la recherche de force brute est nécessaire. Cela ne calcule pas en 0,25 s, peu importe ce que vous avez.
- Indexation par tous les mots possibles combinaisons comme 'David John'. Puis nous faisons face à une explosion combinatoire sur le nombre de clés et même pas Google a la capacité de stockage pour gérer cela.
Et vous pouvez ET ensemble as many search phrases as you want et vous obtenez toujours des réponses en moins de 0,5 sec! Comment?