Elasticsearch: Updating indices store throttle type from to - общие причины и быстрые способы устранения

elasticsearch logo Elasticsearch

В Elasticsearch индекс (множественное число: индексы) содержит схему и может иметь один или несколько шардов и реплик. Индекс Elasticsearch делится на шарды, и каждый шард является экземпляром индекса Lucene.

Индексы используются для хранения документов в специальных структурах данных, соответствующих типу данных полей. Например, текстовые поля хранятся в инвертированном индексе, а числовые и геополя - в BKD-деревьях.

Примеры

Создание индекса

Следующий пример основан на Elasticsearch версии 5.x и выше. Будет создан индекс с двумя шардами, каждый из которых имеет одну реплику, с именем test_index1

Список индексов

Все названия индексов и их основную информацию можно получить с помощью следующей команды:

Индексирование документа

Добавим документ в индекс с помощью следующей команды:

Запрос к индексу

Запрос по нескольким индексам

Одним запросом можно выполнить поиск по нескольким индексам. Если это необработанный HTTP-запрос, имена индексов должны быть отправлены в формате с разделителями-запятыми, как показано в примере ниже, а в случае запроса через клиент на языке программирования, таком как python или Java, имена индексов должны быть отправлены в формате списка.

Удалить индексы

Общие проблемы

Хорошей практикой является определение настроек и отображения индекса по мере возможности, поскольку если этого не сделать, Elasticsearch попытается автоматически определить тип данных полей во время индексирования. Этот автоматический процесс может иметь недостатки, такие как конфликты отображения, дублирование данных и неправильные типы данных в индексе. Если поля не известны заранее, лучше использовать динамические шаблоны индексов.

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

Чтобы отключить это, вы можете добавить следующие строки в elasticsearch.yml:

Контекст журнала

Журнал "обновление indices.store.throttle.type с [{}] на [{}]" имеет имя класса IndicesStore.java.
Мы извлекли следующее из исходного кода Elasticsearch для тех, кто ищет более подробный контекст:

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