ElasticSearch Отсутствует определение для агрегации [unique_users] Ошибка

Я использую ES с Ruby on Rails, я нахожусь в ситуации, когда мне приходится перечислять всех уникальных пользователей, поэтому ниже приведен код, который я использую для его получения.

    buckets['unique_users'] = {
      filter: { match_all: {} },
      aggregations: {
        users_count: {
          cardinality: {
            field: :customer_email_key
          }
        }
      }
    }

и ниже ответ:

unique_users: {
  doc_count: 134,
    users_count: {
      value: 125
    }
  }
}

Это показывает только количество уникальных пользователей, но в этом запросе не отображается список адресов электронной почты, поэтому проблема в этом запросе. Кто-нибудь может направить меня?

             ==========  New Edits  ==========

Теперь я использую код, и он отлично работает с списком пользователей, и он считается.

  def buckets_for_unique_users(buckets, aggregations)
    buckets['unique_users'] = {
      filter: { match_all: {} },
      aggregations: {
        users_count: {
          cardinality: {
            field: :customer_email_key
          }
        },
        details: {
          terms: {
            field: :customer_email_key,
            size: 200
          }
        }
      }
    }
  end

Теперь ответ выше кода:

unique_users: {
  doc_count: 134,
  users_count: {
   value: 125
  },
  details: {
    doc_count_error_upper_bound: 0,
    sum_other_doc_count: 0,
    buckets: [
      {
        key: "example@gmail.com",
        doc_count: 2
      }
      {....}
    ]
}

Теперь все идет отлично, но в ответе есть что-то, что немного сбивает с толку, поэтому я должен удалить это, то есть doc_count: 134, потому что я хочу сохранить users_count и удалить doc_count. Поэтому для этого я удалил фильтр: { match_all: {} } из метода, а затем получил ошибку Missing definition for aggregation [unique_users]

1 ответ

Вам необходимо использовать термины агрегации:

GET /_search
{
    "aggs" : {
        "users" : {
            "terms" : { "field" : "customer_email_key" }
        }
    }
}
Другие вопросы по тегам