Вы можете столкнуться с некоторыми побочными эффектами _forcemerge
в индексе, не предназначенном только для чтения:
Предупреждение: принудительное объединение должно вызываться только для чтениятолько показателиВыполнение принудительного слияния с индексом чтения-записи может привести к созданию очень больших сегментов (> 5 ГБ на сегмент), и политика слияния никогда не будет рассматривать его для повторного слияния, пока оно в основном не состоит из удаленных документов.Это может привести к тому, что в сегментах останутся очень большие сегменты.
В этом случае я бы предложил сначала сделать индекс доступным только для чтения:
PUT your_index/_settings
{
"index": {
"blocks.read_only": true
}
}
Затем выполнить принудительное объединениеснова и включите обратную запись в индекс:
PUT your_index/_settings
{
"index": {
"blocks.read_only": false
}
}
В случае, если это не сработает, вы можете переиндексировать из старого индекса в новый индекс и затем удалить старый индекс.
Есть ли лучший способ удаления старых журналов?
Похоже, вы хотите удалить старые сообщения журнала.Хотя вы могли бы выполнить удаление по запросу, на самом деле есть лучший способ: использовать Rollover API .
Идея состоит в том, чтобы создавать новый индекс каждый раз, когда старый индекс становится слишком большим.Запись будет происходить с фиксированным псевдонимом , а Rollover API сделает псевдоним указателем на новый индекс, если старый слишком старый или слишком большой.Затем, чтобы удалить старые данные, вам нужно будет удалить только старые индексы.
Надеюсь, это поможет!