English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Замораживание индекса Elasticsearch

Индексы с частыми поисками хранятся в памяти, так как重建 индекса и помощь в эффективном поиске занимают время. С другой стороны, могут быть индексы, к которым мы редко обращаемся. Эти индексы не требуют занимать память и могут быть重建ены по мере необходимости. Такие индексы называются замороженными.

Каждый раз, когда выполняется поиск по фрагментам, Elasticsearch создает временные данные структуры каждого фрагмента замороженного индекса и сразу же отбрасывает эти структуры после завершения поиска. Поскольку Elasticsearch не хранит эти временные структуры в памяти, замороженные индексы потребляют значительно меньше памяти, чем обычные индексы. В сравнении с другими способами, это позволяет повысить соотношение диска и памяти.

Пример замораживания и размораживания

Ниже приведен пример замораживания и размораживания индексов-

POST /index_name/_freeze
POST /index_name/_unfreeze

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

Поиск замороженных индексов

Количество замороженных индексов, загружаемых параллельно на каждом узле, ограничено числом потоков в池е поиска search_throttled, по умолчанию 1. Чтобы включить замороженные индексы, необходимо использовать параметр запроса − ignore_throttled = falseДля выполнения запроса поиска.

GET /index_name/_search?q=user:tpoint&ignore_throttled=false

Мониторинг замороженных индексов

Замораживание индекса - это обычный индекс, реализованный с помощью ограничений поиска и эффективных разделов памяти.

GET /_cat/indices/index_name?v&h=i,sth