Er zijn een paar opties die u kunt gebruiken bij het zoeken naar tekst om aan die behoeften te voldoen. Bekijk de volgende documenten:
{ "text" : "cake" }
{ "text" : "sale" }
{ "text" : "sale cake" }
{ "text" : "cake sale" }
{ "text" : "dress sale" }
{ "text" : "cake sale monday" }
De standaard "lijst" met woorden is een of inclusie, maar als je geen en . wilt opname "citaat" de woorden:
db.words.find( { "$text": { "$search": "\"cake\" \"sale\"" } },{_id: 0})
{ "text" : "cake sale" }
{ "text" : "sale cake" }
{ "text" : "cake sale monday" }
Als u wilt uitsluiten een woord, dan voeg je het voorvoegsel toe met -
:
db.words.find( { "$text": { "$search": "\"cake\" \"sale\" -monday" } },{_id: 0})
{ "text" : "cake sale" }
{ "text" : "sale cake" }
En als je daar een deel van wilt als een exacte zin dan "quote" je de hele zin:
db.words.find( { "$text": { "$search": "\"cake sale\" -monday" } },{_id: 0})
{ "text" : "cake sale" }
Stemming-woorden hebben echter een probleem, dus:
db.words.find( { "$text": { "$search": "test -testing" } },{_id: 0})
Zou niet echt een resultaat retourneren.
Zie de documentatie op de $text
exploitant voor voorbeelden. Momenteel zijn ze er niet allemaal, maar het wordt beter.