不知何故,elasticsearch(版本1.5.2)在sorting
中找不到我的脚本/etc/elasticsearch/scripts/
。我给了ES的文件夹和文件本身文件权限,并且在我的elasticsearch.yml:
path.conf: /etc/elasticsearch
在查询时,我仍然收到 ElasticsearchIllegalArgumentException [无法找到磁盘脚本排序] :
{
"query": {
"filtered": {
"filter": {
"script": {
"file": "sorting",
"lang": "groovy"
}
}
}
}
}
我是否必须以某种方式从光盘启用脚本?
答案 0 :(得分:1)
您的脚本应放在/scripts
一个/config
下的.groovy
文件夹中,并且应该有一个config/scripts/my_script.groovy
扩展名。来自the documentation:
将脚本内容保存为集群中每个数据节点上名为
script_file
的文件
此外,您的查询应使用file
而不是{
"query": {
"filtered": {
"filter": {
"script": {
"script_file": "sorting",
"lang": "groovy"
}
}
}
}
}
:
HttpContext.Current.Request.Url.AbsoluteUri;
答案 1 :(得分:0)
脚本可能会丢失,因为弹性搜索会拒绝脚本。
保存elasticsearch日志文件并确保在保存脚本文件时不会引发任何错误。