2016-12-15 1 views
-1

У меня есть документы mongo, содержащие данные о сотрудниках в организации. Я хотел найти документы с несколькими ключевыми словами и получить лучший результат.MongoDB поиск по нескольким ключевым словам и отсортированным итогом

eg:**search with "Java, Spring, Hibernate, HTML"** 

should return documents which contains whole keywords and with maximum 
number of keywords and so on until it reaches with at least any of the keyword. 
Please help me to solve this problem. 

ответ

0

Дайте попробовать на:

db.collection_name.find("text", {search:"Java spring hibernate html"}) 

$ текст выполняет текстовый поиск по содержимому полей, индексированных с помощью текстового индекса. Текстовое выражение A $ имеет следующий синтаксис:

Изменено в версии 3.2.

{ 
$text: 
{ 
    $search: <string>, 
    $language: <string>, 
    $caseSensitive: <boolean>, 
    $diacriticSensitive: <boolean> 
    } 
} 

Помните, что это вернет документы, которые соответствуют даже одному термину, как только java или html.

+0

Спасибо за ответ. Я получил его, но мне нужно знать, есть ли способ найти документ с целым контентом, если не тогда как минимум 3 ключевых слова, затем 2, затем 1 и т. Д. –

+0

Да, этот метод найдет документы с одним ключевым словом и со всеми или менее. Метод поиска будет возвращать документы с Java или весной или спящим или html или даже двумя ключевыми словами или более. Попробуйте использовать его один раз. –

Смежные вопросы