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去重统计
首先这三种方法都是可行的,对于这三种办法的效率问题需要看具体的数据量来定。具体的效率测试我自己也没做
如果有做过效率测试的欢迎留言