gpt4 book ai didi

elasticsearch - ElasticSearch:字段键上的聚合

转载 作者:行者123 更新时间:2023-12-03 01:42:06 25 4
gpt4 key购买 nike

我正在尝试在Kibana中创建一个与我网站上最受欢迎页面相关的小型仪表板。文档以以下格式存储:

{
"ev": "pageview",
"meta": {
"visitor": "blah",
"pages": {
"/my-route": {
"title": "My route",
"desc": "foo bar"
},
"/my-route#2": {
"title": "My route 2"
"desc": "foo bar"
},
}
}
}

因此,我正在尝试创建一个显示以下内容的表:
Page     Views
/foo 10
/foo#2 10
/bar 5

但是,我似乎无法基于对象的键进行聚合。那可能吗?

最佳答案

我认为您的数据结构会给您带来困难的时间。

我建议您将其更改为:

{
"ev": "pageview",
"visitor" :"blah",
"route": "/my-route",
"title":"My route",
"desc" foo bar"
}

除了需要的任何其他映射外,还具有用于ev,访客和路线的“关键字”映射类型。

然后,您可以像这样聚合:
GET /{YOUR_INDEX}/_search
{
"query": {"match_all": {}},
"aggs": {
"page_views": {
"terms": {
"field": "route",
"size": 100
}
}
}
}

上述汇总将根据每个基本“路线”值的计数返回前100个计数页面。

如果可能的话,使用您当前的结构进行操作将需要一些非常有趣的脚本。

编辑*我想指出的是,我假设您想按照结构来汇总所有文档。如果您仅基于单个文档的嵌套对象来查找计数,则可能有一种方法。

关于elasticsearch - ElasticSearch:字段键上的聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46779273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com