# Genre Expansion в Elasticsearch 6.1

**URL:** <https://discuss.elastic.co/t/genre-expansion-elasticsearch-6-1/115708>\
**Category:** Вопросы на русском языке\
**Created:** [January 16, 2018, 12:27pm UTC](https://discuss.elastic.co/t/genre-expansion-elasticsearch-6-1/115708 "2018-01-16T12:27:35Z")\
**Posts on this page:** 7\
**Page:** 2

<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:** [January 22, 2018, 4:02pm UTC](https://discuss.elastic.co/t/genre-expansion-elasticsearch-6-1/115708/21 "2018-01-22T16:02:59Z")

</div>

А можно jstack запустить и прислать сюда результат?

---

<div class="post-metadata">

**Author:** ![acorned](https://avatars.discourse-cdn.com/v4/letter/a/ccd318/32.png) [@acorned](https://discuss.elastic.co/u/acorned)\
**Post date:** [January 30, 2018, 1:13pm UTC](https://discuss.elastic.co/t/genre-expansion-elasticsearch-6-1/115708/22 "2018-01-30T13:13:01Z")

</div>

Видимо, проблема была в кривых руках, потому что не могу это воспроизвести.  
Теперь следующий вопрос: если предположить, что синоним - лишь часть запроса, то есть, например, запрос выглядит как `*cat*` - можно ли заставить его каким-то образом искать и `*kitten*`? Какой токенайзер подошел бы в этом случае?

---

<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:** [January 30, 2018, 1:38pm UTC](https://discuss.elastic.co/t/genre-expansion-elasticsearch-6-1/115708/23 "2018-01-30T13:38:36Z")

</div>

Если синонимы использовались при индексации - то `ca*` найдет `cat`, который получился при обработке `kitten`. Если вам надо искать именно `*kitten*` то лучше обрабатывать синонимы в вашем приложении и посылать elasticsearch готовый запрос.

Однако, надо отметить, что elasticsearch это не реляционная база данных, и запросы типа `*foo*`, которые получаются при дословном переводе `LIKE '%foo%'` работают далеко не оптимально. Более разумный подход был бы перетренировать пользователей, изменить приложение или поменять анализ, чтобы избежать такого рода запросов.

---

<div class="post-metadata">

**Author:** ![acorned](https://avatars.discourse-cdn.com/v4/letter/a/ccd318/32.png) [@acorned](https://discuss.elastic.co/u/acorned)\
**Post date:** [February 8, 2018, 8:51am UTC](https://discuss.elastic.co/t/genre-expansion-elasticsearch-6-1/115708/24 "2018-02-08T08:51:59Z")

</div>

Спасибо! И еще один вопрос: а можно ли после создания индекса как-то добавить к нему словарь? я пытаюсь через \_settings, но он ругается:

```
            "type": "illegal_argument_exception",
            "reason": "Can't update non dynamic settings [[index.analysis.analyzer.default.filter,
            index.analysis.analyzer.default.tokenizer]] for open indices
            [[pet_index/229jzNDiTfmgblF4GeIKUA]]"
```

---

<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:** [February 8, 2018, 3:06pm UTC](https://discuss.elastic.co/t/genre-expansion-elasticsearch-6-1/115708/25 "2018-02-08T15:06:04Z")

</div>

Если этот токенайзер используется только при поиске, то его можно изменить предварительно [закрыв индекс](https://www.elastic.co/guide/en/elasticsearch/reference/6.2/indices-open-close.html). Если с помощью него что-то индексировалось, то все эти документы будет необходимо пере-индексировать, и проще будет просто создать новый индекс с новыми установками и пере-индексировать все туда.

---

<div class="post-metadata">

**Author:** ![acorned](https://avatars.discourse-cdn.com/v4/letter/a/ccd318/32.png) [@acorned](https://discuss.elastic.co/u/acorned)\
**Post date:** [February 9, 2018, 10:07am UTC](https://discuss.elastic.co/t/genre-expansion-elasticsearch-6-1/115708/26 "2018-02-09T10:07:47Z")

</div>

Спасибо!

---

<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 9, 2018, 10:08am UTC](https://discuss.elastic.co/t/genre-expansion-elasticsearch-6-1/115708/27 "2018-03-09T10:08:10Z")

</div>

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

[Previous page](https://discuss.elastic.co/t/genre-expansion-elasticsearch-6-1/115708.md?page=1)
