ES的总数超过1万条之后,普通的查询query然后match_all的时候hits里面的total始终只显示一个一万的解决办法

ES的总数超过1万条之后,普通的查询query然后match_all的时候hits里面的total始终只显示一个一万的解决办法:

第一种解决办法:设置 "track_total_hits":true

GET index-*/_search
{
  "query": {
    "match_all": {}
  },
  "track_total_hits":true
}

第二种解决办法:直接_count就可以拿到   ---适用于在kibana中查询

GET index-*/_count
{
  
}

第三种方法:

直接根据_id去重统计

 

首先这三种方法都是可行的,对于这三种办法的效率问题需要看具体的数据量来定。具体的效率测试我自己也没做

如果有做过效率测试的欢迎留言

你可能感兴趣的:(es,es)