Анализ поисковых запросов после исправления опечаток

Добрый день!

У меня вопрос по поводу анализа фраз, по которым делается поиск в индексе. Есть ли какая-либо возможность видеть результат, как Эластик обработал изначальный поисковый запрос и по каким словам в итоге делается поиск в индексе?
К примеру, я ввела запрос "кожанные платья" и хочу видеть, что по fuzziness у меня исправился запрос на "кожаные платья", нормализовал слова до "кожаный" и "платье" и с данной фразой реализуется поиск в индексе.

На данный момент мы создали индекс с товарами в Elastic и пробуем использовать стандартную функцию Fuzziness с функцией Explain. В ответе по запросу я получаю множество товаров, причем по каждому товару я вижу различные термы: где-то поиск делался по термам "кожаное платье", а где-то по "поганый плат", причем если товаров много, мне трудно проанализировать, как изначальный запрос был исправлен. Есть ли функция, которая покажет все вариации фраз, по которым будет делаться поиск?

Пример запроса:
{
"explain": true,
"query": {
"bool": {
"must": [
{
"multi_match": {
"query": "кожаные платья",
"operator": "and",
"fuzziness": "AUTO",
"fields": [
"name",
"name",
"search
"
]
}
}
]
}
},
"size": 30,
"highlight": {
"pre_tags": [
"--"
],
"post_tags": [
"--"
],
"fields": {
"name": {},
"name": {},
"search
": {}
}
}
}
Заранее Спасибо!

Хорошого способа нет. Можно воспользоваться /_validate/query с флагом rewrite=true. Это даст вам список слов с одной из случайно-выбранных шард. Если запустить этот запрос несколько раз, то можно будет получить ответ с разных шард.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.