Мой ElasticSearch не собирается выполнять некоторые сложные запросы.Я использую ElasticSearch только для быстрой производительности поиска по большим наборам данных.
Работает нормально.Поиск прост и быстр.
Но с увеличением количества документов в индексе добавление новых документов становится медленным и медленным.
- Если размер индекса невелик, добавление / индексирование 1 миллиона документов займет около 250 секунд.
- Но когда размер того же индекса достигнет 50 ГБ, добавление 1 миллиона документов займет около 1000 секунд.
- Когда размер того же индекса достигнет 100 ГБ, добавление 1 миллиона документов займет гораздо больше времени.
- И иногда в процессе индексации 1 миллиона документов я вижу ошибку эластичного поискового соединения, и эта ошибка связана с кодами рядом со строкой кодов."//<2.0" я просто взорвал "неструктурированное исключение".И я вижу эту ошибку, только когда пытаюсь проиндексировать 1 миллион документов для большого индекса (около 100 ГБ).Когда размер индекса меньше, я не вижу этой ошибки в журнале. </li>
Я хотел бы настроить кластеры ElasticSearch, чтобы он по-прежнему быстро возвращал результаты поиска, но я также хочу, чтобы она былавозможность индексации / добавления документов быстро, даже когда индекс достигает размера 100 ГБ или больше.
Я бы
- Использовал бы 3 узла в одном кластере (я не нашел хорошего ответа числаузлов в кластере, так что три, кажется, хорошее число, как предлагают некоторые статьи)
- Я бы использовал 5 осколков 1 реплика для каждого индекса.(Я тоже не нашел хорошего числа, это номер по умолчанию)
- Сейчас у меня 5-10 индексов на один кластер, размер кластера составляет 1000 ГБ (используется 300 ГБ).Вместо запуска 10 индексов на кластере 1000 ГБ, если бы я запускал один индекс на один кластер (размер кластера 200 ГБ), это было бы лучше с точки зрения индексации и поиска?
- Документы, которые я добавил в индексобобщены прогнозируемые данные.в документе есть поля с номерами от 6 до 12 и т. д. Я сделал большинство типов данных ключевых слов полей, если я сделаю меньше полей, например, только половину ключевых слов полей, насколько я могу повысить скорость индексации документов?(в моем случае размер индекса достигает 100 ГБ, и каждый день я пакетирую индекс / добавляю к нему 1 миллион документов.
Итак, какие изменения я могу внести в вышеуказанную настройку, чтобы улучшить индексациюскорость и производительность, а также уменьшить ошибку, такую как ошибка подключения Elasticsearch в процессе?
Я использую размещенный на AWS Elasticsearch.
Что еще я мог сделать?
Спасибо!