конкретный часовой диапазон запроса вasticsearch 7.x - PullRequest
0 голосов
/ 11 ноября 2019

Я хочу получить представление о запросе вasticsearch 7.x.

Могу ли я преобразовать свой запрос в определенный диапазон часов в неделю?

=> например) 8 утра ~ 3p.m каждый день за 7 дней

теперь мой запрос (всего 7 дней):

"query": {
    "bool": {
      "must": [
        {
          "range": {
            "statusAt": {
              "format": "strict_date_optional_time",
              "gte": "2019-11-04T02:54:28.625Z",
              "lte": "2019-11-11T02:54:28.625Z"
            }
          }
        }
      ]
    }
  }

1 Ответ

0 голосов
/ 11 ноября 2019

Я нашел, как решить эту проблему.

В каждой версии она отличается по-разному.

Мой случай - версияasticsearch 7.x. и я нашел решение в публичной документации в упругом.

"query": {
    "bool": {
      "must": [
        {
          "range": {
            "statusAt": {
              "format": "strict_date_optional_time",
              "gte": "2019-11-04T02:54:28.625Z",
              "lte": "2019-11-11T02:54:28.625Z"
            }
          }
        }
      ],
      "filter": [
        {
          "script": {
            "script": {
              "source": "doc['date'].value.getHour() >= params.min && doc['date'].value.getHour() <= params.max",
              "params": {
              "min": 9,
              "max": 15
              }
            }
          }
        }
      ]
    }
  }

См .:

https://stackoverflow.com/a/33537029/4604579 https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting-expression.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...