我试图引用我创建的groovy脚本文件,但无法找到(见下文)。我没有配置目录,而elasticsearch.yml在etc / elasticsearch中。我在usr / share / elasticsearch下添加了config / scripts /所以我现在有/ usr / share / elasticsearch / config / scripts /.
在那里,我放置了我的脚本 - source_types.groovy',我运行了chown elasticsearch:elasticsearch on以确保名为elasticsearch的用户拥有它。
我还在etc / elasticsearch中添加了config / scripts / source_types.groovy。
我正在尝试按如下方式调用脚本:
GET nr-01/_search
{
"query": {
"filtered": {
"filter": {
"script": {
"file": "source_types.groovy",
"lang": "groovy"
}
}
}
}
}
我正在
nested: SearchParseException[[nr-01][4]: from[-1],size[-1]: Parse Failure [Failed to parse source [{\n \"query\": {\n \"filtered\": {\n \"filter\": {\n \"script\": {\n \"file\": \"source_types.groovy\",\n \"lang\": \"groovy\"\n }\n }\n }\n }\n}\n]]]; nested: ElasticsearchIllegalArgumentException[Unable to find on disk script source_types.groovy]; }]",
"status": 400
显然无法找到该文件。剧本在哪里?我是否正确地称呼它?
答案 0 :(得分:2)
将*.groovy
个文件放在/etc/elasticsearch/scripts
文件夹下(意味着省略config
)。