Index inversé

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

En informatique, un index inversé est une correspondance entre du contenu, comme des mots ou des nombres, et sa position dans un ensemble de données comme un enregistrement en base de données, un document ou un ensemble de documents ; sur le même principe qu'un index terminologique. Le but de l'index inversé est de permettre une recherche plein texte plus rapide, contre un temps d'insertion de nouvelles données augmenté.

Exemples[modifier | modifier le code]

Exemple simple[modifier | modifier le code]

Pour comprendre le principe un exemple pourrait être le lien entre des recettes de cuisine et leurs ingrédients. Soit une liste de recette de cuisine simplifiées avec leurs ingrédients:

 "crêpes" | {farine, œuf, lait}
 "génoise" | {œuf, sucre, farine}
 "caramel" | {sucre, beurre}
 "flan"| {œuf, lait, sucre}

Supposons que nous souhaitions créer une table des ingrédients, l'index inversée pour celle-ci pourrait être (colonne de droite):

 "farine" | {crêpes,génoise}
 "œuf" | {crêpes, génoise, flan}
 "lait" | {crêpes, flan}
 "sucre" | {génoise, caramel}
 "beurre" | {caramel}

Exemple recherche textuelle[modifier | modifier le code]

Soient les documents suivants:

 "D1" = "c'est ce que c'est"
 "D2" = "c'est ceci"
 "D3" = "ceci est une banane"

Un index inversé sur les mots ou des groupe de mots donnerait (le critère d'indexation est la présence du mot dans la phrase):

 "c'"      {D1, D2}
 "est"     {D1, D2, D3}
 "ce"      {D1}
 "que"     {D1}
 "ceci"    {D2, D3}
 "une"     {D3}
 "banane"  {D3}


Application[modifier | modifier le code]

Les index inversés sont notamment utilisés pour des applications de moteur de recherche. Par exemple, si nous effectuons une recherche des termes "ceci" et "est", alors la ou les phrases correspondantes peuvent être retrouvées par l'intersection des index des mots correspondant soit:

recherchesur(\{ceci,est\}) = \{D2,D3\} \cap \{D1,D2,D3\} = \{D2,D3\}

Voir aussi[modifier | modifier le code]