相关疑难解决方法(0)

术语弹性搜索中嵌套字段的聚合

我在弹性搜索中有下一个字段映射(YML中的定义):

              my_analyzer:
                  type: custom
                  tokenizer:  keyword
                  filter: lowercase

               products_filter:
                    type: "nested"
                    properties:
                        filter_name: {"type" : "string", analyzer: "my_analyzer"}
                        filter_value: {"type" : "string" , analyzer: "my_analyzer"}
Run Code Online (Sandbox Code Playgroud)

每个文档都有很多过滤器,看起来像:

"products_filter": [
{
"filter_name": "Rahmengröße",
"filter_value": "33,5 cm"
}
,
{
"filter_name": "color",
"filter_value": "gelb"
}
,
{
"filter_name": "Rahmengröße",
"filter_value": "39,5 cm"
}
,
{
"filter_name": "Rahmengröße",
"filter_value": "45,5 cm"
}]
Run Code Online (Sandbox Code Playgroud)

我试图获取每个过滤器的唯一过滤器名称列表和唯一过滤器值列表.

我的意思是,我希望获得如下结构:Rahmengröße: 39,5 cm 45,5
cm
33,5
cm
颜色:
gelb

为了得到它,我尝试了几种聚合变体,例如:

{
  "aggs": {
    "bla": {
      "terms": {
        "field": "products_filter.filter_name"
      },
      "aggs": …
Run Code Online (Sandbox Code Playgroud)

aggregate-functions elasticsearch

5
推荐指数
1
解决办法
4539
查看次数

标签 统计

aggregate-functions ×1

elasticsearch ×1