テストで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が含まれているかどうかを確認し、含まれている場合は出力します。含まれていない場合は、他のすべてに含まれます。フィールドでバラを探してください。検索順序は、以前に設定された優先度によって決定されます。
フルテキストインデックスを作成するための構文は次のとおりです。