https://elasticsearch.cn/question/2988
https://elasticsearch.cn/?/question/7781
https://www.v2ex.com/t/975955
https://cloud.tencent.com/developer/ask/sof/102352850
https://cloud.tencent.com/developer/ask/sof/102352850
社区首页>问答首页>为什么这个ElasticSearch扫描和滚动总是返回相同的滚动id?
问为什么这个ElasticSearch扫描和滚动总是返回相同的滚动id?
EN Stack Overflow用户 提问于 2014-08-23 03:00:39 回答 2查看 13.3K关注 0票数 28因此,首先我运行以下命令:
代码语言:javascript 复制curl -s -XGET http://localhost:9200/my_index/_search?scroll=1m&search_type=scan&size=10
这将返回一个滚动id,然后我将在第一个滚动请求中使用它:
代码语言:javascript 复制curl -s -XGET http://localhost:9200/_search/scroll?scroll=1m&scroll_id=<scroll_id from above>
The documentation会让我相信,当我运行第二个curl请求时,我应该得到一个新的滚动id。
然而,看起来我总是得到相同的滚动id。
看起来每个请求返回的数据都是不同的,所以我假设一切都正常。
怎么一回事?
elasticsearc大模型视频创作引擎特惠
提供高质量视频生成与处理服务,技术领先、效果专业、应用广泛,新用户3折起!
EN回答 2
Stack Overflow用户
回答已采纳发布于 2014-08-23 04:41:43
你上面所说的是正确的。
在随后的滚动请求中,scroll_id可能相同,也可能不同。但在随后的滚动调用中,结果集(命中)明显不同。
在多次调用的过程中,scroll_id可能会发生变化,因此需要始终传递最新的scroll_id作为后续请求的scroll_id。
票数 23 ENStack Overflow用户
发布于 2020-07-22 19:24:51
在大多数情况下,scroll_id将保持不变,有时可能会发生变化,请查看代码示例注释中的本页末尾的https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/search_operations.html:
// When done, get the new scroll_id
// You must always refresh your _scroll_id! It can change sometimes
这意味着为后续请求获取相同的滚动id是可以的,但不是强制性的。
票数 0 EN 页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持 原文链接:https://stackoverflow.com/questions/25453872
http://www.hohode.com/2018/07/06/elasticsearch-scroll-id%E4%B8%80%E7%9B%B4%E4%B8%8D%E5%8F%98%E7%9A%84%E5%8E%9F%E5%9B%A0/https://www.zhihu.com/question/63369078
标签:search,滚动,id,https,com,scroll,es From: https://www.cnblogs.com/dhjy123/p/18685192