elasticsearch - Elasticsearch-如何使聚合仅返回匹配的键
问题描述
我正在使用elasticsearch 6.2.3,并且我正在尝试对聚合进行过滤,以仅返回与存储桶中并非全部匹配的键。或者也许我需要做一个脚本并遍历桶来只得到匹配?我的查询是:
{
"aggs" : {
"genres" : {
"nested" : {
"path" : "tags"
},
"aggs": {
"d":{
"terms" : { "field" : "tags.values.value.facet"
},
"aggs": {
"NAME": {
"filter": {
"prefix": {
"tags.values.value.facet": "Variatio"
}
}
}
}
}
}
}
}}
结果看起来像这样:
"aggregations": {
"genres": {
"doc_count": 285391,
"d": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 44437,
"buckets": [
{
"key": "null",
"doc_count": 251811,
"NAME": {
"doc_count": 0
}
},
{
"key": "MMAkku",
"doc_count": 15870,
"NAME": {
"doc_count": 0
}
},
{
"key": "MMBaden",
"doc_count": 15870,
"NAME": {
"doc_count": 0
}
},
{
"key": "MMEttlingen",
"doc_count": 15870,
"NAME": {
"doc_count": 0
}
},
{
"key": "MMEurope",
"doc_count": 15870,
"NAME": {
"doc_count": 0
}
},
{
"key": "MMGermany",
"doc_count": 15870,
"NAME": {
"doc_count": 0
}
},
{
"key": "MMKarlsruhe",
"doc_count": 15870,
"NAME": {
"doc_count": 0
}
}
}
但我只想查看与过滤器中的单词匹配的键。有什么建议么?
谢谢
解决方案
尝试这个
{
"aggs": {
"facets": {
"filter": {
"prefix": {
"tags.values.value.facet": "Variatio"
}
},
"aggs": {
"facets_count": {
"terms": {
"field": "tags.values.value.facet"
}
}
}
}
}
}
推荐阅读
- ios - UIScreenEdgePanGestureRecognizer 在第一个来自 ShouldBegin 的否后停止工作
- python - Django 表单 - 尝试引用表单字段之一时对象没有属性错误
- sql - 访问搜索查询返回 PK 不值
- ruby - Windows上的Ruby on rails安装puma错误
- batch-file - 创建一个批处理文件以运行具有一些其他参数的特定 exe
- git - 即使在我进行了本地更改之后,Git 仍然说“没有什么可提交的,工作树干净”
- javascript - 如何更改背景的不透明度(这是图像?)
- javascript - 如何从 AJAX 请求中下载附件?
- python - Tkinter 窗口大小调整
- serilog - 使用 RestrictedToMinimumLevel 覆盖 Serilog 中的默认最小级别