Zing génère des résultats de recherche en quatre phases

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 1 minute de lecture
  • Générez des résultats de recherche en divisant les documents en partitions, en recherchant des documents de partition, en notant des documents de partition et en fusionnant les scores dans un index.

    Zing génère des résultats de recherche en quatre phases :
    1. Répartissez les documents consultables entre partitions d’index.
    2. Recherchez et filtrez des documents en partition.
    3. Partitionnez les documents de score.
    4. Fusionner les scores de documents partitionnés dans un index.

    Phase 1 : diviser les documents consultables en 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 dans 10 partitions d’index. Chaque partition contient 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.

    Figure 1. Répartir les documents dans les partitions d’index
    Le système divise tous les documents pouvant être recherchés en 10 partitions d’index, de la partition 0 à la partition 9.

    Phase 2 : rechercher et filtrer des documents partitionnés

    Chaque thread de requête effectue une recherche dans sa liste de documents de partition pour identifier les documents qui correspondent aux critères de recherche. Par exemple, si vous recherchez « réseau wifi », le système renvoie tous les documents contenant à la fois « wifi » et « réseau » sans ordre particulier.
    Remarque :
    Une recherche de mots multiples est équivalente à plusieurs recherches de mots uniques reliées par un opérateur ET. Par exemple, [contient][wifi][ET][contient][réseau].

    Le thread de requête attribue à chaque document correspondant une valeur numérique (un ID de document) pour l’identifier de façon unique. Tous les autres documents sont ignorés.

    Phase 3 : partitionner les scores des documents

    Le thread de requête évalue chaque document de partition correspondant.

    Figure 2. Threads de requête, recherchez, filtrez et notez des documents de partition
    Le système crée 10 threads de requête pour rechercher, filtrer et noter des documents de partition.

    Phase 4 : fusionner et trier les scores de documents partitionnés

    Le système fusionne les scores des documents en un seul index et trie les documents du score le plus élevé au score le plus bas. Les documents avec le score de document le plus élevé sont les plus pertinents pour la requête de recherche.

    Figure 3. Fusionner et trier les scores de documents en partitions
    Fusionner et trier les scores de documents en partitions