kibana操作ES将相同的provCode 相同的entryPage 的文档的dispCategoryCode聚合到一起 用逗号分割
时间: 2024-10-08 08:12:55 浏览: 24
kibana-xlsx-import:Kibana插件,用于将XLSXCSV文件导入到ElasticSearch
在Kibana中操作Elasticsearch (ES),如果你想要对具有相同`provCode`和`entryPage`的文档进行分组,并将它们的`dispCategoryCode`聚合在一起以逗号分隔显示,你可以使用Elasticsearch的聚合功能,特别是`terms`和`bucket_script`。以下是一个基本的查询示例:
1. 创建一个聚合管道(Pipeline):
```json
GET /your_index_name/_search
{
"size": 0,
"aggs": {
"category_codes": {
"terms": { "field": "provCode.entryPage" }, // 分组依据字段
"aggs": {
"dispCategoryCodes": {
"terms": { "field": "dispCategoryCode" }, // 再按dispCategoryCode分组
"script_bucket": { // 使用脚本聚合
"script": {
"source": """
var catCodes = new Array();
doc.values('dispCategoryCode').forEach(function(code) {
if (!catCodes.includes(code.toString())) {
catCodes.push(code.toString());
}
});
return String.join(",", catCodes);
"""
}
}
}
}
}
}
}
```
这个查询首先按`provCode.entryPage`分组,然后对每个组内的`dispCategoryCode`值创建一个新的数组,去重后用逗号连接。
阅读全文