Elasticsearch 1.4.4 使用脚本过滤器时出错,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": "搜索阶段执行异常[无法执行阶段 [查询],所有分片都失败;......nested: QueryParsingException[[test_index] [script] filter 不支持 [script_file]];......

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

它的工作原理是将查询中的script_file更改为仅脚本

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

最新更新