Соответствие документов в текстовом индексе с использованием указанных полей - PullRequest
0 голосов
/ 10 октября 2019

Мне нужно найти способ сопоставления документа в многопользовательском индексе mongodb при заданных определенных критериях.

Я создал многопользовательский индекс следующим образом:

db.collection.createIndex({"description": "text", "address": "text"})

Используя следующий пример:

{
        "description": "IT Services and Software Development",
        "address": "Address 1"
},
{
        "description": "Networking and Database solutions",
        "address": "Address 56"
}

Когда мне дается ключевое слово описания поиска, такое как «программное обеспечение», и местоположение, такое как «Адрес 56», я бы хотел сопоставить только те документы, которые содержатслово software в поле описания и Address 56 в поле адреса следующим образом:

$text: { $search: {"description": "software", "address": "Address 56"} }

Я могу, например, сделать следующее:

$text: { $search: "Software \"Address 56\"" }

Но есть некоторые комбинации, которые могут сломать это. Как правильно это сделать?

...