dar*_*gma 2 regex elasticsearch
我在 elasticsearch 中的文档是这样的
{
...
dimensions : list[string]
...
}
Run Code Online (Sandbox Code Playgroud)
我想在与正则表达式匹配的所有文档中找到所有维度。我觉得聚合可能会起作用,但我在制定它时遇到了麻烦。
例如,假设我有如下三个文件:
{
...
dimensions : ["alternative", "alto", "hello"]
...
}
{
...
dimensions : ["hello", "altar"]
...
}
{
...
dimensions : ["nore", "sore"]
...
}
Run Code Online (Sandbox Code Playgroud)
我想["alternative", "alto", "altar"]在查询正则表达式时得到结果"alt.*"
您可以terms通过使用include属性参数化的简单聚合来实现这一点,您可以使用该属性指定正则表达式(例如alt.*在您的情况下)或要包含在存储桶中的值数组。请注意exclude,如果需要,还有对应的:
{
"size": 0,
"aggs": {
"dims": {
"terms": {
"field": "dimensions",
"include": "alt.*"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
结果:
{
...
"aggregations" : {
"dims" : {
"doc_count_error_upper_bound" : 0,
"sum_other_doc_count" : 0,
"buckets" : [ {
"key" : "altar",
"doc_count" : 1
}, {
"key" : "alternative",
"doc_count" : 1
}, {
"key" : "alto",
"doc_count" : 1
} ]
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3607 次 |
| 最近记录: |