Créez deux documents en test, la commande est la suivante
db.test.insert( [{
Sysno:1111, Productname:"Rose", Weight:123, Productmode:"aaa", }, {
Sysno:2222, Productname:"flower", Weight:345, Productmode:"aaa", } ] )
Recherchez les documents contenant le mot-clé rose dans tous les documents de la collection à tester (plage de texte intégral), définissez respectivement la priorité des champs productname et productmode, et la priorité par défaut des champs sans priorité est 1. Les commandes et les résultats sont les suivants:
db.test.createIndex({
"$**":"text"},{
"weights":{
"Productname":10,"Productmode":5}})
Les résultats de la requête sont les suivants:
Créez deux autres documents, puis recherchez rose, les résultats sont les suivants
db.test.insert( [{
Sysno:3333, Productname:"bbb", Weight:123, Productmode:"rose", }, {
Sysno:4444, Productname:"aaa", Weight:"rose", Productmode:"ccc", } ] )
On peut voir que lors de la recherche, recherchez d'abord si le mot-clé rose est inclus dans le champ productname d'un document, puis sortez le document; sinon, recherchez s'il contient rose en mode produit, et sortez s'il y en a; sinon, ce sera dans tous les autres Cherchez la rose dans le champ. L'ordre de recherche est déterminé par la priorité définie précédemment.
La syntaxe de création d'un index de texte intégral est la suivante: