Elasticsearch 7.10.2创建Point in Time失败求助
解决Elasticsearch 7.10.2创建Point in Time(PIT)的错误问题
针对你遇到的两个错误,原因和解决方案如下:
错误原因分析
- 第一个错误(request body is required):创建PIT的请求必须包含请求体,无法仅通过URL参数完成调用。
- 第二个错误(unrecognized parameter: [keep_alive]):Elasticsearch 7.10.x版本中,
keep_alive参数需放在请求体内,而非URL的查询参数中。
正确的PIT创建请求
在Kibana Dev Tools中执行以下请求:
POST test_index/_pit { "keep_alive": "1m" }
执行成功后会返回包含id字段的响应,该id即为后续查询需使用的PIT ID:
{ "id": "46ToAwMDaWR5BXV1aWQyKwZub2RlXzMAAAAAAAAAACoBYwADaWR4BXV1aWQxAgZub2RlXzEAAAAAAAAAAAEBYQADaWR5BXV1aWQyKgZub2RlXzIAAAAAAAAAAAwBYgACBXV1aWQyAAAFdG9rZW4BAAAAAAAAAAEWAA==", "keep_alive": "1m" }
额外说明
- 若需为多个索引创建PIT,可在URL中用逗号分隔索引名,或在请求体的
index字段指定:POST _pit { "index": ["test_index", "another_index"], "keep_alive": "1m" } - PIT过期后会自动清理,也可通过
DELETE /_pit请求手动清理指定的PIT ID。
内容的提问来源于stack exchange,提问作者dorefaeli
相关产品推荐
相关产品推荐

