橡皮、老虎皮、狮子皮哪一个最不好?

es aggregation时 聚合字段被拆分

Elasticsearch | 作者 Ever | 发布于2018年05月02日 | 阅读数:7136

需求功能时实现一个类似sql中groupby功能,实际groupby中需要根据path来分组 比如“es/login/user”,但是分组之后,关键值会将es,login,user拆分,请问下 如何可以按着es/login/user 这种来分组聚合呢?(最好不要通过更改索引,因为生产环境的配置我改不动= =!,最好能在DSL中配置下)谢谢各位~
已邀请:

strglee

赞同来自:

用dsl实现不了 只能更改索引 设置一个keyword
PUT test/_mapping/test
{
"properties": {
"path": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword"
}
}
}
}
}
然后用keyword字段聚合

led3171 - 90后后后后后

赞同来自:

同谢啦,实际测试即使没有设置字段属性:
"fields": {"keyword": {"type": "keyword"}}

"fields": {"raw": {"type": "keyword"}}
只是在聚合时进行全字匹配也可以。
"aggs": {
"Miscellaneous": {
"terms": { "field": "Miscellaneous.keyword" }
}
}
还请指教

要回复问题请先登录注册