栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Elasticsearch中汇总值数组

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Elasticsearch中汇总值数组

在“ 城市 ” 上方发布的文档中,它不是json数组,而是json对象。如果可以更改文档结构,则可以将文档中的城市更改为对象数组

示例文件:

 cities : [   {     "name" :"saopaulo"     "visit_count" :"2",   },   {     "name" :"riodejaneiro"     "visit_count" :"1",   }]

然后,您需要将城市设置为嵌套在索引映射中的类型

   "mappings": {         "<type_name>": { "properties": {    "cities": {       "type": "nested",       "properties": {          "city": {  "type": "string"          },          "count": {  "type": "integer"          },          "value": {  "type": "long"          }       }    },    "date": {       "type": "date",       "format": "dateOptionalTime"    },    "registry": {       "type": "string"    },    "state": {       "type": "string"    },    "traveler": {       "type": "string"    } }         }      }

之后,您可以使用嵌套聚合来获取每个用户的城市计数。查询将在以下几行中显示:

{   "query": {      "match": {         "traveler": "patrick"      }   },   "aggregations": {      "city_travelled": {         "nested": { "path": "cities"         },         "aggs": { "citycount": {    "cardinality": {       "field": "cities.city"    } }         }      }   }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/391002.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号