如何使用Java API为Elasticsearch调用Groovy脚本
寻找指针以了解如何使用java api调用Groovy脚本。
def value = dynamicValue return value
想要用Java翻译以下查询:
GET /test-index/_search{
"query": {
"match_all": {}
},
"script_fields": {
"checkValue": {
"script": "test",
"params": {
"dynamicValue": 7
}
}
}
}
回答:
您可以这样做:
Map<String, Object> params = ImmutableMap.of("dynamicValue", 7);SearchResponse response = client().prepareSearch("test-index")
.setQuery(matchAllQuery())
.addScriptField("checkValue", new Script("test", ScriptType.FILE, "groovy", params))
.execute().actionGet();
您需要将存储test.groovy
文件的config/scripts
文件夹中的每个数据节点上,并且确保在脚本启用config/elasticsearch.yml
与
script.inline: onscript.file: on
以上是 如何使用Java API为Elasticsearch调用Groovy脚本 的全部内容, 来源链接: utcz.com/qa/410287.html