Elasticsearch 7.x中的特定小时范围查询

我想在Elasticsearch 7.x中了解查询。

我可以将查询转换为一周中的特定小时范围吗?

=>例如,在7天内,每天从上午8点到下午3点

现在我的查询(仅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"
            }
          }
        }
      ]
    }
  }
heartear15 回答:Elasticsearch 7.x中的特定小时范围查询

我找到了解决方法。

在每个版本中几乎没有。

我的情况是elasticsearch 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

本文链接:https://www.f2er.com/3126496.html

大家都在问