无法理解Elasticsearch滚动文档

2024-04-29 16:41:08 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我使用python3.8和Requests lib来帮助我对es7.4.2进行restfulapi调用。查看ES文档中的Scroll它指出:

初始搜索请求应该在查询字符串中指定scroll参数,它告诉Elasticsearch它应该保持“search context”活动多长时间

这是我第一次打电话

requests.post("http://127.0.0.1:9200/paulk/_search?scroll=1m, headers={'Content-type': 'application/json'}, data=json.dumps({"size": 100, "query": {"match_all": {}}}))

这返回一个200,一切都是预期的,但是。根据第二次也是最后一次通话的文件,它声明:

上述请求的结果包括一个\u scroll\u id,它应该传递给scroll API,以便检索下一批结果

因此,我按照文档中的步骤执行以下3个步骤:

requests.post(url="http://127.0.0.1:9200/_search/scroll", headers=headers, data=json.dumps({"scroll": "1m", "scroll_id": scroll_id}))

但结果是400分,我做错什么了?我得到的返回字符串是:

{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Failed to parse request body"}],"type":"illegal_argument_exception","reason":"Failed to parse request body","caused_by":{"type":"json_parse_exception","reason":"Unrecognized token 'scroll': was expecting ('true', 'false' or 'null')\n at [Source: org.elasticsearch.transport.netty4.ByteBufStreamInput@a7e638b; line: 1, column: 8]"}},"status":400}

我试过几种不同的组合,但我得到的都是400


Tags: 字符串文档idjsonhttpsearchdataparse