您可以这样做:
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