我是新来的麋鹿堆栈
我试过了,但没有得到工作流程。。
例如,执行下面的搜索查询
POST <index-name>/_search?scroll=2m
{
"query": {"match_all": {}}
}
并从此查询中获取滚动id,然后尝试检索滚动搜索的下一批结果
GET /_search/scroll
{
"scroll_id" : "<scroll_id>"
}
第一次得到结果
"took" : 2,
"timed_out" : false,
"terminated_early" : true,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 13059,
"relation" : "eq"
}
我的问题是,为什么我得到错误时,我试图再次滚动使用相同的滚动id
"caused_by" : {
"type" : "search_context_missing_exception",
"reason" : "No search context found for id"
使用的版本
Kibana 7.9.3
Elastic Search 7.9.3
1条答案
按热度按时间7gs2gvoe1#
这个
scroll_id
价值观在每个React中都会发生变化。因此,下一个搜索调用需要使用上一个搜索响应中的新滚动id。你的开始是正确的
在您得到的响应中,一个名为
_scroll_id
包含用于下一次调用的下一个滚动id(如光标),让我们调用它scroll_id_1
:在下一个React中,你会得到一个新的答案
_scroll_id
价值(我们称之为scroll_id_2
)您需要在下次通话中使用它:一直这样做,直到得到一个空的结果集,此时可以清除搜索上下文