# Поиск по префиксу и словоформам одновременно

**URL:** https://discuss.elastic.co/t/topic/323345
**Category:** Вопросы на русском языке
**Created:** [January 17, 2023, 4:21pm UTC](https://discuss.elastic.co/t/topic/323345 "2023-01-17T16:21:34Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![romixart](https://avatars.discourse-cdn.com/v4/letter/r/d2c977/32.png) [@romixart](https://discuss.elastic.co/u/romixart)
#### Post date: [January 17, 2023, 4:21pm UTC](https://discuss.elastic.co/t/topic/323345/1 "2023-01-17T16:21:34Z")

</div>

У меня есть следующая структура объекта: номер, наименование, список позиций.  
Список позиций это nested тип, количество позиций в объекте может быть от 0 до N.  
Наименование и позиции проиндексированы каждой в 2 поля: в поле с анализатором (ru hunspell) и в поле без анализатора, то есть keywords. Это было сделано для того, чтобы можно было искать точное вхождение фраз и слов.

Столкнулись с несколькими проблемами. Например, мы хотим найти объекты в наименовании которых или в позициях которых есть вхождение красн\* яблоко. В случае с названием всё просто, а вот с позициями получается проблема. Так как яблоко мы ищем в анализируемом поле, а префикс красн ищем в keyword поле, то сопоставить в каких именно позициях находятся вхождения невозможно. В итоге мы получаем на выходе объекты, в которых может входить только одно из слов, например, объект с позицией яблоко, что не соответствует задаче.

Прошу подсказать, что мы сделали не так? Поиск по фразе не подходит так как порядок слов может быть в искомом объекте произвольным.

---

<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: [February 14, 2023, 4:22pm UTC](https://discuss.elastic.co/t/topic/323345/2 "2023-02-14T16:22:17Z")

</div>

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