如何使用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: on

script.file: on

以上是 如何使用Java API为Elasticsearch调用Groovy脚本 的全部内容, 来源链接: utcz.com/qa/410287.html

回到顶部