elasticSearch Java API 怎么将查询出来的数据类似sql 一样的distinct 去重某个字段
Elasticsearch | 作者 RZYang | 发布于2016年08月01日 | 阅读数:10910
elasticSearch Java API 怎么将查询出来的数据类似sql 一样的distinct 去重某个字段
我需要将查询出来的数据先group by 一下, 然后count(distinct())
类似于下面的操作
例如 有个一个type1 数据结构如下
省份, 是否结婚, 姓名
湖南 1 王五
湖南 0 王五
湖南 1 王五
湖南 1 张三
需求:
对姓名去重然后求count。 但是要用省份和,是否结婚分组, 最后面再求和count 的数据
如果用sql 去做的话 我们可以这样写
select sum(t1.num) from (
select 省份,是否结婚 , count(distinct(姓名)) as num from type1 group 省份, 是否结婚) t1
不知道 用Java API 操作ES怎么做出来
我需要将查询出来的数据先group by 一下, 然后count(distinct())
类似于下面的操作
例如 有个一个type1 数据结构如下
省份, 是否结婚, 姓名
湖南 1 王五
湖南 0 王五
湖南 1 王五
湖南 1 张三
需求:
对姓名去重然后求count。 但是要用省份和,是否结婚分组, 最后面再求和count 的数据
如果用sql 去做的话 我们可以这样写
select sum(t1.num) from (
select 省份,是否结婚 , count(distinct(姓名)) as num from type1 group 省份, 是否结婚) t1
不知道 用Java API 操作ES怎么做出来
1 个回复
joeywen
赞同来自: