Агрегации фильтров Elasticsearch

#php #elasticsearch #aggregation

#php #elasticsearch #агрегация

Вопрос:

У нас есть много данных, в которых есть логическое значение, которое определяет, являются ли данные действительными (отображают их) или нет. Это, например, такие навыки, как PHP и Java. Проблема заключается в запросе списка пользователей, у которых есть навыки, которые не активны, из-за этого в агрегациях Elasticsearch появятся эти навыки. Как-то я могу сказать это для агрегаций, которые я не хочу отображать? Мой текущий код, который не работает:

 "aggs":{  
        "base":{  
            "filter":{ 
                "term":{  
                    "active":"yes"
                }
            },
            "aggs":{  
                "skills":{  
                    "terms":{
                        "field":"skill",
                        "size":10000,
                        "order":{  
                            "_term":"asc"
                        }
                    }
                }
            }
        }
    },
  

Я попытался вывести фильтр за пределы agg, но в этом случае ES не показывал пользователей, у которых нет неактивного навыка.

Комментарии:

1. Я не совсем понял вопрос, не могли бы вы привести пример?

2. Вам нужно поместить фильтр в агрегации. На этой странице приведен пример elastic.co/guide/en/elasticsearch/reference/current /…