# Индексация с использованием Hunspell работает медленно

**URL:** https://discuss.elastic.co/t/hunspell/182188
**Category:** Вопросы на русском языке
**Created:** [May 22, 2019, 9:29am UTC](https://discuss.elastic.co/t/hunspell/182188 "2019-05-22T09:29:45Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![Surovyi](https://avatars.discourse-cdn.com/v4/letter/s/e5b9ba/32.png) [@Surovyi](https://discuss.elastic.co/u/Surovyi)
#### Post date: [May 22, 2019, 9:29am UTC](https://discuss.elastic.co/t/hunspell/182188/1 "2019-05-22T09:29:45Z")

</div>

Добрый день.  
Мы хотим начать использовать ElasticSearch для поиска на нашем сайте.  
Сейчас используется Sphinx.  
Но сразу столкнулись с проблемой, при поиске слова "лосось", выводится:  
"лосьон"  
"лось"  
"лос"

Мы попробовали подключить hunspell. Но индексация наших документов идет очень медленно. Мы индексируем контент файлов до 100 мб.

Если анализатором "russian" мы загружали по 1 000 000 за 2 часа, то с hunspell, всего навсего 10 000 за 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: [May 22, 2019, 7:41pm UTC](https://discuss.elastic.co/t/hunspell/182188/2 "2019-05-22T19:41:42Z")

</div>

Вы не могли бы запустить `hot_threads` в время индексации раз 5 и прислать результат сюда?

---

<div class="post-metadata">

### Author: ![ykras](https://avatars.discourse-cdn.com/v4/letter/y/a183cd/32.png) [@ykras](https://discuss.elastic.co/u/ykras)
#### Post date: [May 23, 2019, 8:15am UTC](https://discuss.elastic.co/t/hunspell/182188/3 "2019-05-23T08:15:25Z")

</div>

Приветствую!  
Запустил индексацию в Elasticsearch с использованием анализатора hunspell  
(Словари брал отсюда:  
[https://code.google.com/archive/p/hunspell-ru/](https://code.google.com/archive/p/hunspell-ru/)  
)

Собрал cстатистику по потокам (hot\_threads) - файл es\_hot\_threads.txt  
Ссылка на google disk:

> **[es\_hot\_threads.txt](https://drive.google.com/file/d/1E1EAuB4Nnhz2DoAJY4QYvq_VdO3HzmZt/view?usp=drive_open)**
>
> Google Drive file.

---

<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: [May 23, 2019, 2:06pm UTC](https://discuss.elastic.co/t/hunspell/182188/4 "2019-05-23T14:06:54Z")

</div>

Да, действительно замедление происходит из-за hunspell. Дело в том, что встроенный анализатор русского языка алгоритмический, то есть он работает по небольшому набору правил которые он применяет очень быстро. К сожалению, правила эти очень простые и вызывают проблемы (как с вашим лососем). Фильтр hunspell использует словарь русского языка, поэтому производит хорошие результаты, но ему надо для этого больше ресурсов.

Если проблематичных слов не много, то я думаю, их можно исключить из стемминга c помощью фильтра [keyword marker](https://www.elastic.co/guide/en/elasticsearch/reference/7.1/analysis-keyword-marker-tokenfilter.html) и обработать в ручную с помощью синонимов. Если таких слов слишком много - то нужен более мощный, но медленный стеммер.

---

<div class="post-metadata">

### Author: ![Surovyi](https://avatars.discourse-cdn.com/v4/letter/s/e5b9ba/32.png) [@Surovyi](https://discuss.elastic.co/u/Surovyi)
#### Post date: [May 23, 2019, 2:47pm UTC](https://discuss.elastic.co/t/hunspell/182188/5 "2019-05-23T14:47:30Z")

</div>

Спасибо, будем экспериментировать.  
Пока остановились на использование light\_russian, он менее агрессивно отсекает окончания слов.

---

<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: [June 20, 2019, 2:47pm UTC](https://discuss.elastic.co/t/hunspell/182188/6 "2019-06-20T14:47:32Z")

</div>

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