elasticsearch 1.4.4错误使用脚本过滤器和script_file

时间:2015-03-12 14:48:05

标签: elasticsearch

使用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
}

并收到错误消息。这是错误的一部分(它非常大,所以我试图只显示看起来最有用的部分):

&#34;错误&#34;:&#34; SearchPhaseExecutionException [无法执行阶段[查询],所有分片都失败; ......嵌套:QueryParsingException [[test_index] [script] filter不支持[script_file]]; ......

听起来这部分错误 [script]过滤器不支持[script_file] 表示脚本过滤器不能与 script_file 一起使用。那是对的吗?我已经使用 script_file 在同一个索引上生成成功的条件。在更新到1.4.4之前,此相同的过滤器使用动态脚本,但我现在使用 script_file 方法,因为更新到1.4.4。我是否可以在文件中使用脚本过滤器,如果可以,如何使用?

1 个答案:

答案 0 :(得分:1)

它通过在查询中将 script_file 更改为脚本来实现。

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