一个ES的一个统计查询,请求给为大佬

Mr_K 发布于 2019/08/15 11:55
阅读 1K+
收藏 0

开源软件供应链点亮计划,等你来!>>>

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

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

 

 

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

 

加载中
0
gammey
gammey

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

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

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

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

0
小二码
小二码

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

Joyzhou
Joyzhou
回复 @Mr_K : 存储在es中的数据最好是平铺的,这样有利于检索,结构化功能应该放在其他业务中
Mr_K
Mr_K
没办法,索引结构就是这样的。。。。我可以统计出有多少省份和城市,但是统计不出有多少区。
0
mickelfeng
mickelfeng
该评论暂时无法显示,详情咨询 QQ 群:912889742
Mr_K
Mr_K
:joy:
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部