与Groovy脚本弹性搜索的日期差异

时间:2016-08-12 07:47:01

标签: elasticsearch groovy

我正在尝试使用以下代码创建基于内联Groovy脚本的Sort。

基本上尝试使用当前时间减去日期字段,并使用返回的差异对其进行排序。

"sort": [
    {
      "_script": {
        "script": "DateTime date = new DateTime(doc['enddate'].value); return date.minus(date , '2016-08-12T12:24:03');",
        "type": "number",
        "order": "asc"
      }
    }]

但是这种方法不正确。

1 个答案:

答案 0 :(得分:2)

你可以试试这个

{
  "sort": [
    {
      "_script": {
        "script": "DateTime.now().millis - doc.enddate.date.millis",
        "type": "number",
        "order": "asc"
      }
    }
  ]
}