Elasticsearch api объединить диапазон и теги - PullRequest
0 голосов
/ 10 октября 2018

У меня 2 рабочих запроса elk:

GET _search
{
  "query": {
    "range":{
      "timestamp":{
        "gt": "now-15m"
      }
    }
  }
}

и

GET _search
{
  "query": {
    "bool" : {
      "must" : {
        "match" : { "tags" : "mytag" }
      }
    }
  }
}

Как я могу объединить эти 2 запроса?По сути, я хочу получить все документы за последние 15 минут с тегом, равным «mytag»

1 Ответ

0 голосов
/ 10 октября 2018

Вам нужно объединить их обоих, используя must и filter.Когда первый даст вам tags, который вам нужен, и второй фильтр для данного временного диапазона.(Кстати, я продолжил с вашей схемой, но я помню, вы должны выглядеть timestamp с @timestamp)

GET _search
{
  "query": {
    "bool" : {
      "must" : {
        "match" : { "tags" : "mytag" }
      },
     "filter": 
        {
          "range": {
            "timestamp": {
               "gt": "now-15m"
            }
          }
        }
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...