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
Как только все осколки будут изменены от инициализации до активного состояния, новый индекс будет готов.
А разве увеличение количества шардов(осколков) не приводит к увеличению скорости поиска?
Тут речь идет не про оптимизацию скорости запроса, а про оптимизацию используемых вычислительных ресурсов при запросе. Надеюсь теперь стало понятней 🙂
Понятно. Кстати хочу поблагодарить за посты. Прочитал как на духу, жду новых уроков! 😉
Приятно слышать! Подпишитесь на группу в vk, чтобы не пропустить выход нового урока 🙂
Даже перепроверил: Elasticsearch Введение — 1.4 Масштабируемость и доступность
https://uploads.disquscdn.com/images/fb807f9e2a9050c6ac514f0b3367802bd29b4edcebbf20cfbe9bb126e9cfca11.png