Почему сканирование и прокрутка ElasticSearch продолжают возвращать один и тот же идентификатор прокрутки?

Итак, сначала я запускаю следующее:

curl -s -XGET http://localhost:9200/my_index/_search?scroll=1m&search_type=scan&size=10

Это возвращает идентификатор прокрутки, который затем я использую в первом запросе прокрутки:

curl -s -XGET http://localhost:9200/_search/scroll?scroll=1m&scroll_id=<scroll_id from above>

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

Однако, похоже, что я снова получаю тот же идентификатор прокрутки.

Похоже, что возвращаемые данные разные для каждого запроса, поэтому я предполагаю, что все работает.

Что происходит?

Ответы

Ответ 1

То, что у вас выше, является правильным.

Scroll_id может быть или не быть одинаковым при последующем запросе прокрутки. Но результирующий набор (образы) окончательно отличается при последующих вызовах прокрутки.

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