как убрать подобные скопления агрегации вasticsearch - PullRequest
0 голосов
/ 16 ноября 2018

В следующей агрегации я хочу извлечь топ-10 уникальных URLs, проиндексированных из журналов nginx. Я не уверен насчет результата агрегации. Как мне достичь следующих критериев:

  • Свернуть request_path Поле
  • возврат уникальных адресов
  • удаляет похожие адреса, такие как /rest/v3/users, /rest/v3/users/uuid и возвращает родительский ресурс в результатах

Запрос:

GET _search
{
  "query": {
    "bool": {
      "must": {
        "match_phrase": {
          "request_path": "rest/v3"
        }
      }
    }
  },
  "aggs": {
    "top_hits": {
      "terms": {
        "field": "request_path.keyword",
        "size": 100000,
        "include": {
          "partition": 1,
          "num_partitions": 100
        }
      }
    }
  },
  "size": 20
}

Ожидаемый результат:

[
  {
     "request_path": "/rest/v3/users",
     "count": 100
  },
  {
     "request_path": "/rest/v3/archives",
     "count": 20
  },
  {
     "request_path": "/rest/v3/payments",
     "count": 85
  }
  ...
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...