как получить последние 30 минут записи из упругого поиска - PullRequest
0 голосов
/ 07 февраля 2019
I am using following query to fetch all last 30 minutes records using elastic search, but I'm getting parsable error on line "now-30m".



    Query: 
{

  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "appName": "magnus-alerting-system"
          }
        },
        {
          "match": {
            "countryCode": "US2"
          }
        },
        {
          "match": {
            "eventCode": 201
          }
        },
        {
          "match": {
            "extractName": "LaborDemand"
          }
        },{
          "range": {
            "eventPostTimestamp": {
              **"gte": "now()-30m"**
            }
          }
        }

      ]
    }
  }
}

Ошибка Почтальона при выполнении службы: "root_cause": [{"type": "number_format_exception", "reason": "Для входной строки: \" now () - 30m \ ""}]]

Пожалуйста, дайте мне знать, как это исправить.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Причина в том, что now () - 30 м вasticsearch неверно, поскольку правильный формат просто «сейчас». Документация

Следовательно, правильный запрос следующий:

{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "appName": "magnus-alerting-system"
          }
        },
        {
          "match": {
            "countryCode": "US2"
          }
        },
        {
          "match": {
            "eventCode": 201
          }
        },
        {
          "match": {
            "extractName": "LaborDemand"
          }
        },{
          "range": {
          "eventPostTimestamp": {
          "gte": "now-30m"
            }
          }
        }

      ]
    }
  }
}
0 голосов
/ 07 февраля 2019

Правильный синтаксис для использования математики данных в диапазоне запросов для поля даты будет выглядеть следующим образом:

{
  "range": {
    "eventPostTimestamp": {
      "gte": "now-30m"
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...