当前位置: 动力学知识库 > 问答 > 编程问答 >

mvel - elasticsearch aggregation using a script to transform field value being aggregated

问题描述:

I currently have something like:

"aggs": {

"group_by_myfield": {

"terms": {

"field": "myfield"

}

}

}

However the value for myfield is "alpha 1.0", "alpha 2.0", "beta 1.0". Now I want to only aggregate over the values "alpha", "beta". How do I do that? I tried:

"aggs": {

"group_by_myfield": {

"terms": {

"field": "myfield"

"script": "_value.split()[0]"

}

}

}

But I guess there is no split functionality. Any suggestions are welcome!

I found a similar question here which is unanswered as well.

EDIT:

managed to get it done using the link above. following query does the job.

GET _search

{

"size": 0,

"aggs": {

"group_by_myfield": {

"terms": {

"field": "myfield",

"script": "_value.replaceAll('\\\\s+.*','')"

}

}

}

}

网友答案:

managed to get it done using the link I pasted in my question:

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

分享给朋友:
您可能感兴趣的文章:
随机阅读: