КатегорииElasticsearch

Elasticsearch — Урок 5.5 Shrink API

Shrink API используется для сжатия существующего индекса в новый индекс с меньшим количеством осколков. Если данные в индексе больше не изменяются, индекс может быть оптимизирован в плане используемых вычислительных ресурсов при поиске и агрегации за счет уменьшения количества осколков. Количество осколков в индексе назначения должно быть фактором исходного индекса. Например, индекс с 6 первичными осколками может быть сжат в 3, 2 или 1 осколок. При работе с чувствительными к времени данными, такими как журналы, данные индексируются только в текущие индексы, а старые индексы в основном читаются. API-интерфейс Shrink не переиндексирует документ; он просто переводит индексные сегменты в новый индекс.

Чтобы уменьшить индекс, индекс должен быть помечен как доступный только для чтения, и либо первичную, либо реплику всех осколков индекса следует перенести на один узел. shrink_node_name имя узла, в который могут быть перенесены все осколки.

PUT /index_with_six_shards/_settings
 {
   "settings": {
     "index.routing.allocation.require._name": "shrink_node_name",
     "index.blocks.write": true
   }
 }

Как только выделение будет закончено, мы можем использовать _shrink API для сжатия индекса, как показано здесь:

POST index_with_six_shards/_shrink/index_with_one_shard
 {
   "settings": {
     "index.number_of_replicas": 1,
     "index.number_of_shards": 1
   }
 }

Вы можете контролировать процесс сжатия, используя API работоспособности кластера, как показано здесь:

GET _cluster/health

Как только все осколки будут изменены от инициализации до активного состояния, новый индекс будет готов.

5 комментариев к записи «Elasticsearch — Урок 5.5 Shrink API»

  1. А разве увеличение количества шардов(осколков) не приводит к увеличению скорости поиска?

    1. Тут речь идет не про оптимизацию скорости запроса, а про оптимизацию используемых вычислительных ресурсов при запросе. Надеюсь теперь стало понятней 🙂

      1. Понятно. Кстати хочу поблагодарить за посты. Прочитал как на духу, жду новых уроков! 😉

        1. Приятно слышать! Подпишитесь на группу в vk, чтобы не пропустить выход нового урока 🙂

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *