一尘不染

使用脚本转换Elasticsearch聚合以转换要聚合的字段值

elasticsearch

我目前有类似的东西:

"aggs": {
        "group_by_myfield": {
            "terms": {
                "field": "myfield"
            }
        }
    }

但是,myfield的值为“ alpha 1.0”,“ alpha 2.0”,“ beta 1.0”。现在,我只想聚合值“ alpha”,“
beta”。我怎么做?我试过了:

"aggs": {
        "group_by_myfield": {
            "terms": {
                "field": "myfield"
                "script": "_value.split()[0]"
            }
        }
    }

但我想这里没有拆分功能。欢迎任何建议!


阅读 456

收藏
2020-06-22

共1个答案

一尘不染

我设法通过粘贴在问题中的链接来完成此任务:

GET _search
{
    "size": 0, 
    "aggs": {
        "group_by_myfield": {
            "terms": {
                "field": "myfield",
                "script": "_value.replaceAll('\\\\s+.*','')"
            }
        }
    }
}
2020-06-22