Zing génère des résultats de recherche en quatre phases
Générez des résultats de recherche en divisant les documents en partitions, en recherchant des documents sur partition, en notant des documents sur partition et en fusionnant des scores dans un index.
- Répartissez les documents interrogeables entre les partitions d’index.
- Rechercher et filtrer des documents de partition.
- Documents de partition de scores.
- Fusionner les scores d’un document de partition dans un index.
Phase 1 : répartir les documents interrogeables entre les partitions d’index
Lorsqu’une recherche est exécutée, le système divise de manière égale tous les documents pouvant être recherchés 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 des documents de partition
wifi » et « réseau » sans ordre particulier.Le thread de requête affecte à 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 les documents
Le thread de requête marque chaque document de partition correspondant.
Phase 4 : fusionner et trier les scores de documents partitionnés
Le système fusionne les scores des documents en un index unique et trie les documents du score de document 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.