开发者社区> 问答> 正文

一个ES的一个统计查询,请求给为大佬? 400 报错

一个ES的一个统计查询,请求给为大佬? 400 报错

{ "name":"四川", "city":[ { "name":"成都" "Region":[ { "name":"成华区" }, { "name":"青羊区" } 			] }, { "name":"巴中" "Region":[ { "name":"巴中区1" }, { "name":"巴中区12" } 			] } ] }

我有一个ES的数据结构是这样的

 

 

现在要统计一共有多少个区,怎么写es语法呢?请求各位大佬。

 

展开
收起
爱吃鱼的程序员 2020-05-30 21:50:23 482 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    额,你这个可能有个问题。

    如果你这个是一条记录的话,通过搜索API查出来是记录数1条,也就是hits.而不是你这个文档里有多少个区。

    就像搜索引擎里搜索字段,搜索引擎只会告诉你有多少条记录符合你的要求,而不是某一条记录内有多少个你搜索的关键字。

    所以如果要统计,你把这个数据获取到,再自己写代码去分析有多少个区才是靠谱的做法。

    ######

    就像 gammey  说的,你如果要用es做查询和统计,那么应该将数据拆分出来,每个区一条数据,你这样的数据结构不太适合做es的查询统计

    ######回复 @Mr_K : 存储在es中的数据最好是平铺的,这样有利于检索,结构化功能应该放在其他业务中######没办法,索引结构就是这样的。。。。我可以统计出有多少省份和城市,但是统计不出有多少区。######

    你在成都上班吗?是巴中人吗

    ######:joy:
    2020-05-30 21:50:23
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载