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

**URL:** <https://discuss.elastic.co/t/topic/77004>\
**Category:** Вопросы на русском языке\
**Created:** [March 1, 2017, 2:52pm UTC](https://discuss.elastic.co/t/topic/77004 "2017-03-01T14:52:52Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Elena\_Panova](https://avatars.discourse-cdn.com/v4/letter/e/278dde/32.png) [@Elena\_Panova](https://discuss.elastic.co/u/Elena_Panova)\
**Post date:** [March 1, 2017, 2:52pm UTC](https://discuss.elastic.co/t/topic/77004/1 "2017-03-01T14:52:52Z")

</div>

Добрый день!

У меня вопрос по поводу анализа фраз, по которым делается поиск в индексе. Есть ли какая-либо возможность видеть результат, как Эластик обработал изначальный поисковый запрос и по каким словам в итоге делается поиск в индексе?  
К примеру, я ввела запрос "кожанные платья" и хочу видеть, что по 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_": {}  
}  
}  
}  
Заранее Спасибо!

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [March 1, 2017, 10:33pm UTC](https://discuss.elastic.co/t/topic/77004/2 "2017-03-01T22:33:44Z")

</div>

Хорошого способа нет. Можно воспользоваться [/\_validate/query](https://www.elastic.co/guide/en/elasticsearch/reference/5.2/search-validate.html) с флагом `rewrite=true`. Это даст вам список слов с одной из случайно-выбранных шард. Если запустить этот запрос несколько раз, то можно будет получить ответ с разных шард.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [March 29, 2017, 10:33pm UTC](https://discuss.elastic.co/t/topic/77004/3 "2017-03-29T22:33:46Z")

</div>

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