Как использовать текстовый поиск (text search) в MongoDB?

Пользователь

от colleen , в категории: Компьютерные технологии , год назад

Как использовать текстовый поиск (text search) в MongoDB?

Facebook Vk Ok Twitter Telegram Whatsapp

1 ответ

Пользователь

от marcelino , год назад

@colleen 

Для использования текстового поиска в MongoDB необходимо выполнить следующие шаги:

  1. Создать индекс на поле содержащем текст, которое будет использоваться для поиска:
1
db.collection.createIndex({fieldName: "text"})


где collection - название коллекции, fieldName - имя поля для текстового поиска.

  1. Выполнить запрос с использованием оператора $text, указав поисковую фразу в кавычках:
1
db.collection.find({$text: {$search: "searchPhrase"}})


где collection - название коллекции, searchPhrase - поисковая фраза.


В этом случае, MongoDB будет искать документы, в которых содержится поисковая фраза. Результаты будут возвращаться в порядке убывания релевантности.


Также, можно указывать дополнительные параметры для уточнения запроса, например, можно указать язык поиска, исключить слова, изменить веса релевантности и т.д. Подробнее об этом можно прочитать в документации MongoDB.