asticsearch, как группировать по повторяющимся элементам в массив без четких - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь получить группу счетчиков по повторяющимся элементам в массиве без отдельных, использовать термины aggs, но не работает

GET /my_index/_search
{
  "size": 0,
  "aggs": {
    "keywords": {
       "terms": {
          "field": "keywords"
       }
    }
  }
}

документы типа:

"keywords": [
            "value1",
            "value1",
            "value2"
          ],

норезультат:

"buckets": [
        {
          "key": "value1",
          "doc_count": 1
        },
        {
          "key": "value2",
          "doc_count": 1
        }
]

как я могу получить результат как:

"buckets": [
            {
              "key": "value1",
              "doc_count": 2
            },
            {
              "key": "value2",
              "doc_count": 1
            }
    ]

1 Ответ

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

наконец я изменяю отображение, используя вложенные:

"keywords": {
    "type": "nested",
    "properties": {
        "count": {
            "type": "integer"
        },
        "keyword": {
            "type": "keyword"
        }
    }
},

и запрос:

GET /my_index/_search
{
    "size": 0,
    "aggs": {
        "keywords": {
            "nested": {
                "path": "keywords"
            },
            "aggs": {
                "keyword_name": {
                    "terms": {
                        "field": "keywords.keyword"
                    },
                    "aggs": {
                        "sums": {
                            "sum": {
                                "field": "keywords.count"
                            }
                        }
                    }
                }
            }
        }
    }
}

результат:

"buckets": [{
    "key": "value1",
    "doc_count": 495,
    "sums": {
        "value": 609
    }
},
{
    "key": "value2",
    "doc_count": 440,
    "sums": {
        "value": 615
    }
},
{
    "key": "value3",
    "doc_count": 319,
    "sums": {
        "value": 421
    }
},
...]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...