asticsearch получает уникальные свойства - PullRequest
0 голосов
/ 22 января 2019

можно ли запросить эластичный и получить уникальные свойства?
например: если у меня есть 3 документа в индексе:

{
"number": 3
"name": "larry",
"lastName":"ck"
},
{
"number": 5
"name": "one",
"lastName": "two"
"age":33
},
{
"number": 22
"name": "a",
"lastName": "b"
"age": 33,
"gender": "male"
}

Я хочу получить уникальные свойства всех документов с "числом" между 1-10 (установлены только 2 документа)

result = [number, name, lastName, age]

Спасибо, Ларри

1 Ответ

0 голосов
/ 28 января 2019

размер = 0, потому что я не хочу, чтобы результат документов (как вы хотите)

Первая группа (groupby) - это группа, укажите, что для вас является дубликатом в этой части. Подагг (remove_dup) сохранит только первый элемент из первого добавленного groupby Исходный массив будет рисовать указанное вами поле (и не будет печатать их все).

Надеюсь, это то, что вы ищете!

{
  "size": 0,
  "aggs": {
    "group_by": {
      "terms": {
        "field": "fieldkey"
      },
      "aggs": {
        "remove_dup": {
          "top_hits": {
            "size": 1,
            "_source": [
              "field1",
              "field34"
            ]
          }
        }
      }
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...