Recherche de texte

20 min Niveau 9

À partir de la version 2.4, MongoDB a commencé à prendre en charge les index de texte pour effectuer des recherches dans le contenu des chaînes de caractères. La recherche de texte utilise des techniques de troncature pour rechercher des mots spécifiques dans les champs de chaîne en supprimant les mots d'arrêt de troncature tels que a, an, the, etc. Actuellement, MongoDB prend en charge environ 15 langues.

Activation de la recherche de texte

Au départ, la recherche de texte était une fonction expérimentale, mais à partir de la version 2.6, la configuration est activée par défaut.

Création d'un index de texte

Considérons le document suivant sous la collection posts contenant le texte du post et ses balises -.

> db.posts.insert({
    "post_text": "enjoy the mongodb articles on Microlead",
    "tags": ["mongodb", "Microlead"]
}
{
    "post_text" : "writing tutorials on mongodb",
    "tags" : [ "mongodb", "tutorial" ]
})
WriteResult({ "nInserted" : 1 })

Nous allons créer un index de texte sur le champ post_text afin de pouvoir effectuer des recherches dans le texte de nos articles.

>db.posts.createIndex({post_text:"text"})
{
    "createdCollectionAutomatically" : true,
    "numIndexesBefore" : 1,
    "numIndexesAfter" : 2,
    "ok" : 1
}

Utilisation de l'index du texte

logo discord

Besoin d'aide ?

Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !

En savoir plus