ElasticSearch, выделяющий совпавшую часть в запросе

Я отправляю запрос на совпадение в ElasticSearch и получаю обратно документы, соответствующие поля которых были выделены. Я пытаюсь сопоставить набор документов с соответствующей подстрокой в ​​запросе.

Например, предполагая, что я запрашиваю "быстрый коричневый". Я хочу сопоставить документ "быстрое серебро" с "быстрым", "коричневая лиса" с "коричневым" и "мистер коричневый" с "коричневым".

Это тривиально, если поля документа точно содержат слово в запросе. Но вещи запутываются, когда я использую нечеткость, синонимы, асцифолдинг и т. Д. В этом случае выделенные части результатов поиска могут даже не отображаться в моем поисковом запросе.

Возможно ли выполнить эту задачу, не копируя логику анализатора в моем приложении?

1 ответ

Используйте простой запрос строки запроса вместо запроса на совпадение при попытке найти сопоставленные документы. И установите оператор в или. Так что быстрое серебро в качестве запроса будет сопоставлять документы с быстрым или серебряным.

Другие вопросы по тегам