Zing génère des résultats de recherche en quatre phases
Générez des résultats de recherche en divisant les documents entre les partitions, en recherchant des documents de partition, en notant les documents de partition et en fusionnant les scores dans un index.
- Répartissez les documents consultables entre les partitions d’index.
- Rechercher et filtrer les documents de partition.
- Partitionner des documents.
- Fusionner les scores des documents de partition dans un index.
Phase 1 : Diviser les documents consultables entre les partitions d’index
Lorsqu’une recherche est exécutée, le système répartit de manière égale tous les documents pouvant faire l’objet d’une recherche entre 10 partitions d’index. Chaque partition possède une liste unique de documents.
Pour optimiser l’efficacité de la recherche, le système crée 10 threads de requête pour rechercher simultanément chaque partition d’index.
Phase 2 : rechercher et filtrer les documents de partition
wifi » et « réseau » sans ordre particulier.Le thread de requête attribue à chaque document correspondant une valeur numérique (un ID de document) pour l’identifier de manière unique. Tous les autres documents sont ignorés.
Phase 3 : Partitionner des documents
Le thread de requête note chaque document de partition correspondant.
Phase 4 : fusionner et trier les scores des documents de partition
Le système fusionne les scores des documents dans un index unique et trie les documents du score le plus élevé au plus bas. Les documents avec le score de document le plus élevé sont les plus pertinents pour la requête de recherche.