Синтаксис для конкретной фразы:
{ $text: { $search: '\"gram is a unit of weight\"' } }
К сожалению, поиск точного совпадения по слову на самом деле невозможен, это связано с использованием Монго снежного кома в качестве основыи индексные слова.
вы можете, однако, попытаться сопоставить определенную мета-оценку в текстовых поисках выше.
Пример:
Предположим, у нас есть 2 документа с текстовым полем,один раз со словом сон, а другой со словом сон.При создании текстового индекса монго сохраняет термин «сон» для обоих слов.Таким образом, как только я продолжу искать термин sleep, даже если я добавлю синтаксис точного соответствия, оба вернутся как совпадения из-за характера индексации.
забавный совет, чтобы понять, как монго анализирует определенные слова для запуска:
model.find({$text: {$search: 'sleeping'}}).explain()
это вернет JSON в объекте WinningPlan:
{
"terms": [
"sleep"
],
"negatedTerms": [],
"phrases": [],
"negatedPhrases": []
}
Теперь легко понять, какие термины будут соответствовать этому поиску.