Почему индекс ElasticSearch доступен для поиска, если для параметра refresh_interval установлено значение -1 при первоначальной загрузке данных?

Я выполняю большую загрузку данных в пустой индекс.

В этой статье предлагается установить «refresh_interval=-1» и «number_of_replicas=0», чтобы увеличить скорость загрузки. Затем он говорит, чтобы включить его обратно.

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

Я хотел бы знать, почему это так и что я сделал неправильно? (Я ожидал, что я должен получить нулевые результаты, потому что индексирование отключено)

И еще одна вещь, которую я хотел бы понять: если я включу refresh_interval обратно к исходному значению, нужно ли мне выполнять операцию /_refresh?

0
0
114
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

По умолчанию Elasticsearch периодически обновляет индексы каждую секунду, но только по индексам, которые получили один поисковый запрос или более в последние 30 секунд. Вы можете изменить этот интервал по умолчанию с помощью Настройка index.refresh_interval.

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

Правильно ли я понимаю, что если никто не запрашивает этот индекс во время загрузки, мне даже не нужно отключать все это? Однако я, вероятно, должен отключить репликацию...

ievgen 05.10.2022 19:50

@ievgen, если вам нужно очень быстрое индексирование, вы можете / должны отключить refresh_interval, но если у вас есть поисковый запрос во время индексирования, не имеет значения, отключите вы его или нет.

hamid bayat 08.10.2022 17:27

Другие вопросы по теме