В следующей агрегации я хочу извлечь топ-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
}
...
]