使用带有 script_file 的脚本过滤器的 elasticsearch 1.4.4 错误

elasticsearch 1.4.4 error using script filter with script_file

使用 Elasticsearch 1.4.4,我有这个脚本 -

doc[field].date.getMinuteOfDay() >= gte && doc[field].date.getMinuteOfDay() <= lte

存储在这里 - config/script/minuteOfDayRange.groovy

我运行这个查询:

POST test_index/_search
{
  "filter": {
    "script": {
      "script_file": "minuteOfDayRange",
      "params": {
        "field": "start_time",
        "gte": 0,
        "lte": 1439
      }
    }
  },
  "size": 0
}

并得到一个错误。这是错误的一部分(它真的很大,所以我试图只显示看起来最有帮助的部分):

"error": "SearchPhaseExecutionException[未能执行阶段[查询],所有分片失败;......嵌套:QueryParsingException[[test_index] [脚本] 过滤器不支持 [script_file]];......

听起来 [script] 过滤器不支持 [script_file] 的这部分错误是说脚本过滤器不适用于 script_file。那是对的吗?我已经使用 script_file 在同一索引上成功生成了术语。在更新到 1.4.4 之前,同样的过滤器使用动态脚本工作,但我现在使用 script_file 方法,因为更新到 1.4.4。我可以在文件中使用脚本过滤器吗?如果可以,如何使用?

它通过在查询中将 script_file 更改为 script 来工作。

我在 github 上发现了一个类似的问题,这是一个尝试这个的线索:https://github.com/elastic/elasticsearch/issues/10007