如何将Date作为参数传递给ElasticSearch

时间:2016-10-17 06:21:02

标签: elasticsearch groovy

我们可以将整数值作为内联参数的一部分传递,但不能传递日期..

我们正在尝试这样做。

"script": {
                  "inline": "if ((doc['enddate'].date >= param1) && (doc['enddate'].date <= param2)) { return param2 }",
                  "params": {
                    "param1": new DateTime(),
                    "param2": new DateTime(doc['enddate'].date).plusDays(+1)
                  }
                }

1 个答案:

答案 0 :(得分:0)

您无法在内联参数中引用文档字段,在您的情况下,您实际上不需要任何参数。我建议按照以下方式进行:

            "script": {
              "inline": "def now = new DateTime(); def tomorrow = now.plusDays(1); if ((doc['enddate'].date >= now) && (doc['enddate'].date <= tomorrow)) { return tomorrow }"
            }

请注意,如果不满足条件,您仍需要返回某些内容。

相关问题