Text Index
MongoDB 🟡 MidDéfinition
Index spécial pour la recherche full-text sur des champs textuels. Supporte le stemming, les stop words et les poids par champ. Une seule text index par collection.
Analogie
Un moteur de recherche interne qui comprend les variantes des mots comme un humain.
Exemple de code
db.articles.createIndex(
{ title: 'text', body: 'text' },
{ weights: { title: 10, body: 1 } }
);
db.articles.find({ $text: { $search: 'mongo' } });
Cas d'usage
Implémenter une barre de recherche sur un blog ou un catalogue de produits.
Anti-pattern
Termes liés
En entretien
Qu'est-ce qu'un text index et quelles fonctionnalités supporte-t-il ?
C'est un index spécial pour la recherche full-text sur des champs textuels, qui supporte le stemming, les stop words et les poids par champ, comme un moteur de recherche interne qui comprend les variantes des mots. Une seule text index est autorisée par collection.
Pourquoi éviter $regex pour implémenter une recherche textuelle ?
Parce que $regex est bien plus lent qu'un text index pour ce cas d'usage, c'est d'ailleurs l'anti-pattern identifié sur ce sujet. Le text index est fait pour ça, par exemple pour une barre de recherche sur un blog ou un catalogue de produits.
Fiche mise à jour le 2026-09-27