Я выполняю большую загрузку данных в пустой индекс.
В этой статье предлагается установить «refresh_interval=-1» и «number_of_replicas=0», чтобы увеличить скорость загрузки. Затем он говорит, чтобы включить его обратно.
Интересно то, что если я не включу его обратно, я все равно смогу отправлять запросы во вновь созданный индекс и получать результаты.
Я хотел бы знать, почему это так и что я сделал неправильно? (Я ожидал, что я должен получить нулевые результаты, потому что индексирование отключено)
И еще одна вещь, которую я хотел бы понять: если я включу refresh_interval обратно к исходному значению, нужно ли мне выполнять операцию /_refresh?
По умолчанию Elasticsearch периодически обновляет индексы каждую секунду, но только по индексам, которые получили один поисковый запрос или более в последние 30 секунд. Вы можете изменить этот интервал по умолчанию с помощью Настройка index.refresh_interval.
поэтому в документе говорится: когда вы отправляете запрос на поиск, он отправляет запрос на обновление с этим. так что вы можете искать свои данные, но очень медленно в первый раз или пропустить некоторые данные для первого поиска. лучше иметь refresh_interval, если вы индексируете новые данные в своих индексах.
@ievgen, если вам нужно очень быстрое индексирование, вы можете / должны отключить refresh_interval, но если у вас есть поисковый запрос во время индексирования, не имеет значения, отключите вы его или нет.
Правильно ли я понимаю, что если никто не запрашивает этот индекс во время загрузки, мне даже не нужно отключать все это? Однако я, вероятно, должен отключить репликацию...