Как я могу узнать, объединяют ли два разных агрегата одни и те же документы? - PullRequest
1 голос
/ 15 мая 2019

Предположим, у меня есть две агги:

   GET .../_search
   {
       "size": 0,
       "aggs": {
           "foo": {
               "terms": {
                   "field": "foo"
               }
           },
           "bar": {
               "terms": {
                   "field": "bar"
               }
           }
       }
   }

, которая возвращает следующее:

   ...
   "aggregations": {
       "foo": {
           "doc_count_error_upper_bound": 0,
           "sum_other_doc_count": 0,
           "buckets": [
               {
                   "key": "Africa",
                   "doc_count": 23
               }
           ]
       },
       "bar": {
           "doc_count_error_upper_bound": 0,
           "sum_other_doc_count": 0,
           "buckets": [
               {
                   "key": "Oil",
                   "doc_count": 23
               }
           ]
       }
   }

Мой вопрос: как я могу узнать, что обе агенты "foo" и "bar"агрегируют одни и те же 23 документа?

Я попытался добавить подаггу к аггам "foo" и "bar", чтобы суммировать произвольное числовое поле, но это не надежно для удаленного доступа.

1 Ответ

0 голосов
/ 15 мая 2019

Вы можете добавить подгруппу, которая агрегирует поле идентификаторов документов, вы можете сделать это с помощью терминов или составной агрегации.При использовании терминов необходимо указать размер.См. Этот пример:

GET .../_search
   {
       "size": 0,
       "aggs": {
           "foo": {
               "terms": {
                   "field": "foo"
               },
               "aggs" : {
                   "terms" : {
                       "field" : your_id_here
                   }
               }
           },
           "bar": {
               "terms": {
                   "field": "bar"
               },
               "aggs" : {
                   "terms" : {
                       "field" : your_id_here
                   }
               }
           }
       }
   }

Затем вам нужно будет сравнить вложенные агрегаты.

Другой подход - просто отфильтровать нужные документы с помощью поискового запроса.

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