Index inversé

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

Exemple simple

Pour comprendre le principe un exemple pourrait être le lien entre des recettes de cuisine et leurs ingrédients. Soit une liste de recettes 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}

L'index inversé de cette table pourrait être (colonne de droite) :

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

Exemple recherche textuelle

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 groupes 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

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 :

Voir aussi