如何在elasticsearch7中获取索引的项目数?

ccc*_*ccc 2 elasticsearch

使用 elasticsearch 6.7 时,

GET /indexName/_search 
Run Code Online (Sandbox Code Playgroud)

返回索引的确切总数:

"hits" : {
    "total" : 1527325,
    "max_score" : 1.0,
    ...}
Run Code Online (Sandbox Code Playgroud)

但是在elasticsearch 7.0

GET /indexName/_search
Run Code Online (Sandbox Code Playgroud)

得到:

"hits" : {
    "total" : {
      "value" : 10000,
      "relation" : "gte"
    },
Run Code Online (Sandbox Code Playgroud)

这意味着总数大于 10000,那么如何获得 7.0 中索引的确切总数?

Val*_*Val 5

从 ES 7.0.0 开始,您需要使用以下track_total_hits参数:

GET /indexName/_search?track_total_hits=true
Run Code Online (Sandbox Code Playgroud)

rest_total_hits_as_int如果你想恢复与 pre-7 版本相同的格式,你也可以添加参数(将在 ES 8 中删除的临时参数):

GET /indexName/_search?track_total_hits=true&rest_total_hits_as_int=true
Run Code Online (Sandbox Code Playgroud)