Exercices Projets guidés Index inverse
🎉

Bravo!

Intermédiaire 🧠 Fondamentaux 20 XP 0 personnes ont réussi

Index inverse

Deuxieme étape du moteur de recherche : l'index inverse. C'est LA structure de données qui fait fonctionner Google, Elasticsearch, et tous les moteurs de recherche.

L'idee est simple : au lieu de chercher dans chaque document un par un (trop lent), on construit a l'avance un dictionnaire qui dit pour chaque mot dans quels documents il apparait.

Par exemple, avec trois documents :
doc 0 : 'python est rapide'
doc 1 : 'python est simple'
doc 2 : 'java est verbeux'

L'index inverse serait :
'python' apparait dans [0, 1]
'java' apparait dans [2]
'est' apparait dans [0, 1, 2]

Écris une fonction construire_index(documents) qui prend une liste de chaines et retourne ce dictionnaire. Utilise la fonction tokeniser fournie. Attention : un mot ne doit apparaitre qu'une seule fois par document dans la liste (meme s'il y est plusieurs fois).

Tests (2/4)

Index simple
docs = ['python est rapide', 'python est simple', 'java est verbeux']
index = construire_index(docs)
assert set(index['python']) == {0, 1}
Mot dans tous
docs = ['python est rapide', 'python est simple', 'java est verbeux']
index = construire_index(docs)
assert set(index['est']) == {0, 1, 2}

+ 0 tests cachés

Indices (3 disponibles)

solution.py