使用脚本按数字

时间:2018-04-02 15:47:48

标签: elasticsearch elasticsearch-dsl

在aggs中,我可以使用以下内容在数字(1-7)键中表示的星期几获取桶:

"aggs" : {
      "group_by_day" :{
        "terms": {
          "script": "doc['@timestamp'].date.dayOfWeek",
            "order": {
                "_key": "asc"
            }
        }
      }
  }

然而,我正在寻找一种方法来添加查询过滤术语子句,只显示星期一或星期二的结果,并且无法获得此结果:

我试过了

    {
      "terms": {
          "script":"doc['@timestamp'].date.dayOfWeek"
      }
    }

并且在查询条款中似乎不支持脚本标记的使用?至少我是如何尝试使用它的。是否有另一种方法可以使用脚本进行过滤,或者采用其他方法(更好)来实现我想要实现的目标?我正在使用6.2 ...谢谢!

1 个答案:

答案 0 :(得分:0)

就是这样:

"script":{
   "script": {
       "source": "doc['@timestamp'].date.dayOfWeek == 1"
    }
}

我只是处理此查询之外的字符串到数字转换,这是在query.bool.must子句中。