- Могу ли я узнать, как долго продлится принудительное слияние?
Нет, извините, слияние не содержит никакой информации о его прогресс.
Я отключил серверы, которые пишут в этот индекс, насколько я понимаю, не стоит ли писать в индекс во время принудительного объединения?
Принудительное объединение как правило, полезно, когда вы никогда больше не будете писать в индекс . Нет причин прекращать запись в индекс только на время слияния, но, наоборот, если вы продолжите запись в индекс sh, тогда вообще не рекомендуется его принудительное слияние.
Поскольку я использовал параметр only_expunge_deletes = true для объединения только сегментов с удаленными документами, это повлияет на поиск по индексу?
Слияние часто выгодно для поиска, поэтому Elasticsearch (действительно Lucene) делает это на заднем плане. Однако принудительное слияние может нарушить обычный автоматический процесс слияния c в будущем, поэтому рекомендуется не делать этого с индексами, которые будут видеть будущие записи.
Какова лучшая практика, которая не возникает в таких ситуациях?
Я думаю, что хорошей практикой, которую вы упускаете, учитывая, что вы индексируете журналы, является использование основанные на времени индексы : время от времени (например, ежемесячно) начинайте новый индекс, имя которого содержит дату (например, месяц и год). Elasticsearch позволяет выполнять поиск по нескольким индексам одновременно (возможно, с использованием подстановочного знака или псевдоним ). Затем вы можете управлять жизненным циклом этих индексов индивидуально (даже есть функция для автоматического c управления жизненным циклом индекса ), которая включает в себя удаление старых индексов, когда они достигают подходящего возраста. Удаление подмножества документов в индексе стоит дорого и не обязательно экономит место, но удаление всего индекса обходится дешево и сразу освобождает место.