elasticsearch - Elasticsearch滚动API会返回Terminate_early而没有scroll_id

标签 elasticsearch

我正在使用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/

相关文章:

python - 在 Anaconda : ModuleNotFoundError: No module named 'solrSource' 中执行 solr-to-es 时出错

ruby - 如何使用 ruby​​ 脚本将单个 json 字符串插入到 elasticsearch

elasticsearch - 使用elasticsearch设计汽车预订应用程序

node.js - 我的Node.js Web服务上的回调 hell 发送到elasticsearch

database - 是否可以在数据库索引中应用分析器

node.js - 用户 : anonymous is not authorized to perform: es:ESHttpPost on resource:

elasticsearch - 提升更像这个elasticsearch

elasticsearch - 在Elasticsearch中查询子文档

elasticsearch - 使用ReactiveSearch进行AND查询

elasticsearch - Elasticsearch -强制将结果分布在所选构面中(属性)