これらのニーズに合わせて、テキスト検索で使用できるオプションがいくつかあります。次のドキュメントを検討してください。
{ "text" : "cake" }
{ "text" : "sale" }
{ "text" : "sale cake" }
{ "text" : "cake sale" }
{ "text" : "dress sale" }
{ "text" : "cake sale monday" }
単語のデフォルトの「リスト」はまたはです 包含しますが、および 単語を「引用」することを含める:
db.words.find( { "$text": { "$search": "\"cake\" \"sale\"" } },{_id: 0})
{ "text" : "cake sale" }
{ "text" : "sale cake" }
{ "text" : "cake sale monday" }
除外したい場合 単語の前に-
を付けます :
db.words.find( { "$text": { "$search": "\"cake\" \"sale\" -monday" } },{_id: 0})
{ "text" : "cake sale" }
{ "text" : "sale cake" }
そして、その一部を正確なフレーズとして必要な場合は、 次に、フレーズ全体を「引用」します。
db.words.find( { "$text": { "$search": "\"cake sale\" -monday" } },{_id: 0})
{ "text" : "cake sale" }
ただし、単語のステミングには問題があるため、:
db.words.find( { "$text": { "$search": "test -testing" } },{_id: 0})
実際には結果を返しません。
$text
のドキュメントを参照してください 例については演算子。現在、すべてが揃っているわけではありませんが、改善されています。