Конфигурация Elasticsearch по умолчанию, заданная @Umar, устарела и начиная с последней основной версии 7.0 ES, Первичные осколки уменьшены до 1 , вы можете проверить это в ES официальном объявлении о критических изменениях .
Никто не может разработать идеальный индекс ES с оптимальным количеством осколков и реплик и требует непрерывной точной настройки в течение периода. Некоторые факторы, которые влияют на рассмотрение проекта.
Система чтения или записи.
Индексы, основанные на времени (например, поиск в журнале), где обычно поиск выполняется в более поздних журналах, в каталоге продуктов электронной коммерции или на веб-сайте, где вы не можете разделить индексы на временные данные.
ES-кластер (мультитенантный или выделенный для один индекс).
Выше приведены лишь несколько выборок, и я могу go дать 100 других факторов, которые вы можете учитывать при разработке конфигурации индекса ES. Но идея состоит в том, чтобы сначала начать с более важных параметров (например, для изменения основных сегментов требуется переиндексация), а также учитывать рост в ближайшем будущем и более точную настройку на основе текущей производительности системы.
Я настоятельно рекомендую вам go через мой подробный блог , в котором будут даны ответы на ваши вопросы (поиск по одному индексу с большим количеством документов, чем поиск по большему количеству индексов / сегментов с меньшим количеством документов) подробно через реальный практический пример.
В приведенном выше блоге также объясняется решение ES об изменении давних основных шардов по умолчанию с 5 на 1.
Ответ на следующий вопрос:
Вопрос: Выполняя поиск по mylogs-* elastic
, параллельно ли он индексам и внутри каждого индекса в своих шардах?
Ответ: Да, ES имеет распределенную архитектуру, а индекс ES состоит из сегмента Lucene, который является полнофункциональная поисковая система, Каждый запрос ES будет выполняться несколькими потоками параллельно, если ему нужно будет попасть в несколько шардов (с одинаковым индексом или несколькими индексами), если данные потоки свободны , в противном случае после завершения потока sh, тогда он будет использоваться для запроса другого шарда. Вот почему ES намного быстрее, чем другие распределенные системы.