使用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[执行阶段查询失败,所有碎片failed;......nested: QueryParsingException[test_index过滤器不支持script_file];.
听起来这部分错误与脚本过滤器不支持script_file是说脚本过滤器不适用于script_file。对吗?我使用script_file在相同的索引上生成了成功的术语。在更新到1.4.4之前,这个过滤器使用动态脚本工作,但我现在使用的是script_file方法,因为它已经更新到1.4.4。我是否可以在文件中使用脚本过滤器,如果可以,如何使用?
发布于 2015-03-13 13:27:53
它的工作方式是将script_file更改为查询中的脚本。
我在github上发现了一个类似的问题,这是一个尝试的线索:https://github.com/elastic/elasticsearch/issues/10007
https://stackoverflow.com/questions/29012918
复制相似问题