Создание запроса в Elasticsearch API
Необходимо выполнить запрос в Elasticsearch за определенный период с определенным параметром ключ:значение. Делаю так:
"query": {
"range": {
"@timestamp": {
"gte": "now-30m",
"lt": "now"
}
},
"match": { "host" : "xxx" }
}
на что получаю в ответ: "reason": "[range] malformed query, expected [END_OBJECT] but found [FIELD_NAME]"
Если использовать "match" внутри "bool", то запрос проходит, но я получаю все результаты, даже если они не совпадают с "key":"value"
Можно ли как-то использовать "match" вместе с "range", чтоб я получил только те результаты, которые ищу и за определенный период?
Ответы (1 шт):
Автор решения: vovagib
→ Ссылка
"query": {
"bool": {
"must": [
{
"match": { "host" : "xxx" }
},
{
"range": {
"@timestamp": {
"gte": "now-30m",
"lt": "now"
}
}
}
]
}
}
Данный запрос позволяет найти все записи за последние полчаса только с указанным [ключ]:[значение]