MongoDBフルテキストインデックスの優先順位設定

テストで2つのドキュメントを作成します。コマンドは次のとおりです。

db.test.insert( [{
    
     Sysno:1111, Productname:"Rose", Weight:123, Productmode:"aaa", }, {
    
     Sysno:2222, Productname:"flower", Weight:345, Productmode:"aaa", } ] )

ここに写真の説明を挿入

テストするコレクション内のすべてのドキュメント(全文範囲)でキーワードroseを含むドキュメントを検索し、productnameフィールドとproductmodeフィールドにそれぞれ優先度を設定し、優先度のないフィールドのデフォルトの優先度を1にします。コマンドと結果は次のとおりです。

db.test.createIndex({
    
    "$**":"text"},{
    
    "weights":{
    
    "Productname":10,"Productmode":5}})

ここに写真の説明を挿入
クエリ結果は次のとおりです。
ここに写真の説明を挿入

さらに2つのドキュメントを作成し、バラを検索すると、結果は次のようになります。

db.test.insert( [{
    
     Sysno:3333, Productname:"bbb", Weight:123, Productmode:"rose", }, {
    
     Sysno:4444, Productname:"aaa", Weight:"rose", Productmode:"ccc", } ] )

ここに写真の説明を挿入

検索するとき、最初にキーワードroseがドキュメントのproductnameフィールドに含まれているかどうかを確認してから、ドキュメントを出力します。含まれていない場合は、productmodeでroseが含まれているかどうかを確認し、含まれている場合は出力します。含まれていない場合は、他のすべてに含まれます。フィールドでバラを探してください。検索順序は、以前に設定された優先度によって決定されます。

フルテキストインデックスを作成するための構文は次のとおりです。
ここに写真の説明を挿入
ここに写真の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_42126962/article/details/109385896