1

来自_index_bulk API 的响应包含相当多的信息。此信息可用于对请求进行故障排除或实现重试逻辑,但可能会占用大量带宽。在这个例子中,索引一个 32 字节的文档会产生一个 339 字节的响应(包括标题):

如果我们像下面这样更新/索引一个文档,

PUT elasticsearch_domain/more-movies/_doc/1
{"title": "Back to the Future"}

它将返回如下响应,

{
  "_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 批量 API或流式批量 API 的响应?

4

1 回答 1

2

与搜索功能相同。试试这样:

elasticsearch.helpers.bulk(client, actions, stats_only=False, filter_path=["hits.hits.result","hits.hits._shards.total"])
于 2019-11-23T15:40:21.173 回答