使用的是elasticsearch6.0版本
mapping
数据
mapping
{
"mappings": {
"product": {
"properties": {
"id": {
"type": "text",
"fielddata": true
},
"address": {
"type": "keyword"
}
}
}
}
}
数据
{"id":"n1", "address":["中国,北京市,北京市","中国,河北省,石家庄"]}
{"id":"n2", "address":["中国,北京市,北京市","中国,江苏省,南京市"]}
{"id":"n3", "address":["中国,北京市,北京市","中国,河北省,石家庄"]}
统计
中国 的记录数
中国,北京市的记录数
中国,河北省的记录数
怎么写
2 个回复
strglee
赞同来自: xiaofancn
所有字段都改成 可分词(用于搜索) keyword(用于聚合)两种类型
导入数据
因为这种es的聚合不支持在嵌套聚合中再筛选 所以 可以通过下面的查询
返回的result['hits']['total']就是所有中国的数据
aggs 里面返回的是各个省份的数据
xiaofancn
赞同来自: