Paramètre de priorité d'index de texte intégral MongoDB

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", } ] )

Insérez la description de l'image ici

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}})

Insérez la description de l'image ici
Les résultats de la requête sont les suivants:
Insérez la description de l'image ici

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", } ] )

Insérez la description de l'image ici

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:
Insérez la description de l'image ici
Insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/weixin_42126962/article/details/109385896
conseillé
Classement