ElasticSearch, выделяющий совпавшую часть в запросе
Я отправляю запрос на совпадение в ElasticSearch и получаю обратно документы, соответствующие поля которых были выделены. Я пытаюсь сопоставить набор документов с соответствующей подстрокой в запросе.
Например, предполагая, что я запрашиваю "быстрый коричневый". Я хочу сопоставить документ "быстрое серебро" с "быстрым", "коричневая лиса" с "коричневым" и "мистер коричневый" с "коричневым".
Это тривиально, если поля документа точно содержат слово в запросе. Но вещи запутываются, когда я использую нечеткость, синонимы, асцифолдинг и т. Д. В этом случае выделенные части результатов поиска могут даже не отображаться в моем поисковом запросе.
Возможно ли выполнить эту задачу, не копируя логику анализатора в моем приложении?
1 ответ
Используйте простой запрос строки запроса вместо запроса на совпадение при попытке найти сопоставленные документы. И установите оператор в или. Так что быстрое серебро в качестве запроса будет сопоставлять документы с быстрым или серебряным.