Фильтр внутри субагрегации при упругом поиске - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь извлечь агрегированные данные, но я немного растерялся, когда хочу дополнительно отфильтровать набор документов. Получение цвета кажется нормальным, но когда я хочу объединить категории с некоторыми цветами, фильтр не выполняется. Что я делаю не так в этом запросе?

У меня уже есть запрос:

GET/my_index/_search
{
  "_source": false,
  "aggs": {
    "global": {
      "global": {

      },
      "aggs": {
        "all_products": {
          "nested": {
            "path": "simple"
          },
          "aggs": {
            "filter_top": {
              "filter": {
                "bool": {
                  "must": [
                    {
                      "match": {
                        "simple.compound_words": {
                          "query": "tisch",
                          "operator": "AND"
                        }
                      }
                    }
                  ]
                }
              },
              "aggs": {
                "filter_merged": {
                  "aggs": {
                    "filter": {
                      "bool": {
                        "must": [
                          {
                            "terms": {
                              "simple.filter_color": [
                                "green",
                                "red"
                              ]
                            }
                          }
                        ]
                      }
                    },
                    "aggs": {
                      "filter_category": {
                        "terms": {
                          "field": "simple.filter_category"
                        }
                      }
                    }
                  }
                },
                "filter_color": {
                  "terms": {
                    "field": "simple.filter_color"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

Это релевантная часть отображений индекса.

{
  "my_index": {
    "mappings": {
      "_doc": {
        "properties": {
          "simple": {
            "type": "nested",
            "properties": {
              "compound_words": {
                "type": "text",
                "analyzer": "GermanCompoundWordsAnalyzer"
              },
              "filter_category": {
                "type": "keyword"
              },
              "filter_color": {
                "type": "keyword"
              }
            }
          }
        }
      }
    }
  }
}

Спасибо за вашу поддержку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...