Я использую Elasticsearch, чтобы пользователь мог вводить термин для поиска. У меня есть «имя» следующее свойство Я хотел бы найти, например:Elasticsearch многопользовательский поиск
'name': 'The car is black'
Я хотел бы, чтобы этот документ возвращается, если следующий используется для поиска black car
или car black
.
Я пробовал делать bool и выполнял несколько терминов ['black', 'car']
, но кажется, что он работает только в том случае, если вся строка соответствует.
Так что я действительно хотел бы сделать больше, значит ли этот термин содержать оба слова в любом порядке.
Может кто-нибудь, пожалуйста, поймать меня на правильном пути? Некоторое время я бил головой об этом.
Не могли бы вы предоставить общее представление и запрос? Вероятно, это связано с [анализаторами] (http://www.elastic.co/guide/en/elasticsearch/reference/1.5/analysis-analyzers.html) – moliware
Мой документ выглядит так: /my_index/food { _id: 1, 'category': 'dessert', 'name': 'здоровое корица яблочное strudel' } Так что если у пользователя есть термин поиска «здоровое яблоко», это будет соответствовать, но если они набрали ' apple pie ', это не соответствовало бы, потому что имя не содержало всех слов, которые они набрали. – mvcNewbie