我是Elasticsearch的新手,我想学习如何为子字符串编写不同的查询。就像我们在SQL中一样:
SELECT distinct substring(abc,3,5)
FROM table_a
我有这个查询,我想对消息的
substring(message,35,10)
部分做出不同的选择:{
"query" :
{ "range":{
"@timestamp" : {
"gte" : "now-6d/d",
"lt" : "now-5d/d"
}
}},
"_source":["@timestamp","message"],
"size":100,
"from":0
}
我想我必须添加类似的内容:
"aggs": {
"distinct": {
"terms": {
"field": "message",--should have something like substring
"size": 0
}
}
}
谢谢您的帮助。
最佳答案
您可以在“条款汇总”中使用"script"
而不是"field"
。在这里,您可以使用字段值执行子字符串或任何常见操作。
注意:在聚合中使用脚本可能会使查询执行非常慢!
Terms Aggregation - Scripts
关于elasticsearch - Elasticsearch中带有正则表达式的聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41598692/