首页 新闻 会员 周边 捐助

elasticsearch 如何查询记录的总量?

0
[已解决问题] 解决于 2018-11-06 11:04

大牛们好:菜鸟一个,项目上需要查询elasticsearch里的记录。目前磕磕绊绊把数据给查出来了,但是没办法查询出记录的总数。就是没办法获取相当于sql里面select count(*) from tableName的结果。因为这影响着前端页面的分页。所以很关键。es原来的分页是 from size。这是从某一条记录开始查,查size条记录。但是前端页面上需要一个共{total}页的,否侧下一页的按钮点不了。也就不能执行es的分页查询。请大牛们介绍一个方法。谢谢!!!

lukely的主页 lukely | 初学一级 | 园豆:147
提问于:2018-01-11 20:26
< >
分享
最佳答案
0

result.hits.hits.total 总记录数

奖励园豆:5
陈亨通 | 菜鸟二级 |园豆:207 | 2018-01-15 17:44

这个可以,但是有一个弊端,当查询数据为0的时候会报错。numHits 必须大于0

lukely | 园豆:147 (初学一级) | 2018-01-15 17:57
其他回答(3)
0

应该已经封装好了这种通用的方法,你问问同事是哪个接口传什么参数.

DanBrown | 园豆:1321 (小虾三级) | 2018-01-12 08:11

然而并没有

支持(0) 反对(1) lukely | 园豆:147 (初学一级) | 2018-01-14 21:46

@lukely: 那就自己写一个方法被,分页的方法也不难.

支持(0) 反对(1) DanBrown | 园豆:1321 (小虾三级) | 2018-01-15 08:03
0

遇到了相同的需求插一下, 我目前想到的是scroll查询出一个滚动对象生成所有数据 但是很慢 在想办法在查询这方面做一个更人性化的接口

睡懒觉的西欣 | 园豆:202 (菜鸟二级) | 2018-08-30 09:16
0

TotalHits totalHits = searchResponse.getHits().getTotalHits();
long total =totalHits.value;

嵩之恋 | 园豆:202 (菜鸟二级) | 2024-10-21 16:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册