Сколько сегментов следует использовать с Elasticsearch на Дев и окружающей среды ки?


По умолчанию Elasticsearch настроен на запуск с 5 сегментами.

Есть ли причина использовать 5 сегментов локально (на моей машине разработки) и на сервере непрерывной интеграции (для интеграционных тестов)? Лучше ли использовать 1?

Очевидно, что я не забочусь о масштабируемости в этих случаях, я просто хочу простейшую настройку.

2 3

2 ответа:

Самая простая настройка - это 1 первичный осколок, 0 реплик.

Если у вас есть только один узел и число реплик >0, он всегда будет yellow. Это не проблема как таковая, но они и не понадобятся.

Если вы хотите проверить время отклика поиска с этим одним осколком, например, это зависит от некоторых факторов, достаточно ли 1 или вам нужно больше. Самое простое эмпирическое правило-иметь осколки размером не более 30-50ГБ, например. Но это число также зависит от факторов.

Итак, я бы сказал, Если бы вы имейте один узел, начните с 1 первичной, 0 реплик. Если этот праймериз слишком "большой", подумайте о том, чтобы иметь больше праймериз (каждый осколок будет выполнять часть работы, и каждый будет использовать один центральный процессор для поиска).

После того, как вы переместили некоторые данные с определенной конфигурацией сегментов, вы не можете установить другое число сегментов без повторного индексирования данных. Поэтому я предполагаю, что конфигурация elasticsearch по умолчанию сделана так, что вы можете масштабировать свой кластер до 5 узлов (тогда каждый узел получает один сегмент) без головной боли.

Из документации elasticsearch:

Новый индекс в Elasticsearch по умолчанию содержит пять основных сегментов. Это означает, что мы можем распространить это индексируйте максимум пять узлов, с одним сегментом на каждом узле. Это большая емкость, и это происходит без необходимости думать об этом вообще!