我正在使用elasticsearch-7.8.1并按照scroll API滚动数据。我的数据计数是
356054,每个请求可获得10。
但是在我的第一个滚动请求之后,我只有一个"terminated_early ":true
,没有其他的scroll_id可供我提出下一个请求。
有什么不对?
以下是我的要求和回复。
搜寻要求
POST http://192.168.10.168:9200/index_name/_search?scroll=60m
{
"query": {
"match_all": {}
}
}
响应{
"_scroll_id": "FGluY2x1ZGVfY29udGV4dF91dWlkDXF1ZXJ5QW5kRmV0Y2gBFERvaGtyM01CNExwbm50ZG1DNFAtAAAAAAAADLUWSDgxaWkwdUNSNktWYk0xbUw1aG00dw==",
"took": 2,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 356054,
"relation": "eq"
},
"max_score": 1.0,
"hits": [//datas]
}
}
滚动请求POST http://192.168.10.168:9200/_search/scroll
{
"scroll_id": "FGluY2x1ZGVfY29udGV4dF91dWlkDXF1ZXJ5QW5kRmV0Y2gBFERvaGtyM01CNExwbm50ZG1DNFAtAAAAAAAADLUWSDgxaWkwdUNSNktWYk0xbUw1aG00dw=="
}
响应{
"took": 1,
"timed_out": false,
"terminated_early": true,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 356054,
"relation": "eq"
},
"max_score": 1.0,
"hits": [//datas]
}
}
最佳答案
我知道距您提出要求已经有一段时间了,但是是否有人从Google搜索中偶然发现了这一点:
您需要在滚动请求正文中指定scroll
(即1m
)。例如:
POST http://192.168.10.168:9200/_search/scroll
{
"scroll_id": "FGluY2x1ZGVfY29udGV4dF91dWlkDXF1ZXJ5QW5kRmV0Y2gBFERvaGtyM01CNExwbm50ZG1DNFAtAAAAAAAADLUWSDgxaWkwdUNSNktWYk0xbUw1aG00dw==",
"scroll": "1m"
}
我遇到了同样的问题,看来已经解决了这个问题。
关于elasticsearch - Elasticsearch滚动API会返回Terminate_early而没有scroll_id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63216861/