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

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 1 minute de lecture
  • 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.

    Zing génère des résultats de recherche en quatre phases :
    1. Répartissez les documents interrogeables entre les partitions d’index.
    2. Rechercher et filtrer des documents de partition.
    3. Documents de partition de scores.
    4. 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.

    Figure 1. Diviser les documents entre partitions d’index
    Le système divise tous les documents pouvant faire l’objet d’une recherche en 10 partitions d’index, de la partition 0 à la partition 9.

    Phase 2 : rechercher et filtrer des documents de partition

    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 équivaut à 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 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.

    Figure 2. Rechercher des threads, filtrer et noter 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 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.

    Figure 3. Fusionner et trier des scores de documents de partition
    Fusionner et trier des scores de documents de partition