Elasticsearch-python 批量助手 API 上没有 filter_path 选项
No filter_path option on Elasticsearch-python bulk helper API
来自 _index 和 _bulk API 的回复包含相当多的信息。此信息可用于对请求进行故障排除或实现重试逻辑,但会占用相当大的带宽。在此示例中,索引 32 字节的文档会产生 339 字节的响应(包括 headers):
如果我们 update/index 像下面这样的文档,
PUT elasticsearch_domain/more-movies/_doc/1
{"title": "Back to the Future"}
它将 return 如下所示的响应,
{
"_index": "more-movies",
"_type": "_doc",
"_id": "1",
"_version": 4,
"result": "updated",
"_shards": {
"total": 2,
"successful": 2,
"failed": 0
},
"_seq_no": 3,
"_primary_term": 1
}
现在,如果我们将 filter_path 与我们现有的索引过程一起使用 _bulk
API
PUT elasticsearch_domain/more-movies/_doc/1?filter_path=result,_shards.total
{"title": "Back to the Future"}
然后响应会像,
{
"result": "updated",
"_shards": {
"total": 2
}
}
所以我的问题是如何使用 filter_path 过滤掉带有 Elasticsearch-python bulk API 或流式传输的响应 API?
与搜索功能相同。试试这样:
elasticsearch.helpers.bulk(client, actions, stats_only=False, filter_path=["hits.hits.result","hits.hits._shards.total"])
来自 _index 和 _bulk API 的回复包含相当多的信息。此信息可用于对请求进行故障排除或实现重试逻辑,但会占用相当大的带宽。在此示例中,索引 32 字节的文档会产生 339 字节的响应(包括 headers):
如果我们 update/index 像下面这样的文档,
PUT elasticsearch_domain/more-movies/_doc/1
{"title": "Back to the Future"}
它将 return 如下所示的响应,
{
"_index": "more-movies",
"_type": "_doc",
"_id": "1",
"_version": 4,
"result": "updated",
"_shards": {
"total": 2,
"successful": 2,
"failed": 0
},
"_seq_no": 3,
"_primary_term": 1
}
现在,如果我们将 filter_path 与我们现有的索引过程一起使用 _bulk
API
PUT elasticsearch_domain/more-movies/_doc/1?filter_path=result,_shards.total
{"title": "Back to the Future"}
然后响应会像,
{
"result": "updated",
"_shards": {
"total": 2
}
}
所以我的问题是如何使用 filter_path 过滤掉带有 Elasticsearch-python bulk API 或流式传输的响应 API?
与搜索功能相同。试试这样:
elasticsearch.helpers.bulk(client, actions, stats_only=False, filter_path=["hits.hits.result","hits.hits._shards.total"])