[英]Replacement for SearchTemplateRequest class in java api client
I am migrating a java application from elastic search high level client to java api client.我正在将 java 应用程序从弹性搜索高级客户端迁移到 java api 客户端。 There is a SearchTemplateRequest class in elastic search java high level client.
弹性搜索 java 高级客户端中有一个 SearchTemplateRequest class。 But I couldn't find any corresponding class in java api client.
但是我在java api客户端找不到对应的class。 Can someone help on this?
有人可以帮忙吗? Old code snippet is as below.
旧代码片段如下。
public SearchTemplateResponse getScriptResponse(String indexName, String scriptName, Map<String, Object> scriptParams) throws IOException {
SearchTemplateRequest request = null;
SearchTemplateResponse response = null;
try {
SearchTemplateRequest request = new SearchTemplateRequest();
request.setRequest(new SearchRequest(new String[] { indexName }, trackTotalHitsSourceBuilder()));
request.setScriptType(ScriptType.STORED);
request.setScript(scriptName);
request.setScriptParams(scriptParams);
request.getRequest().source().trackTotalHits();
response = getClient().searchTemplate(request, RequestOptions.DEFAULT);
} catch (Exception e) {
throw e;
}
return response;
}
I'm using above code block to get the response of bucket aggregation with script query.
I recommend read the Getting Started Java API Client .我建议阅读入门 Java API 客户端。
For create first connection read the link.要创建第一个连接,请阅读链接。
Example using script and updateByQuery:使用脚本和 updateByQuery 的示例:
Map<String, JsonData> params = Map.of("key", JsonData.of("value"));
Script script = new Script.Builder()
.stored(StoredScriptId.of(ssi -> ssi.id("script_name").params(params)))
.build();
UpdateByQueryRequest updateByQueryRequest = UpdateByQueryRequest.of(
up -> up.index("idx_script_tst")
.query(Query.of(q -> q.matchAll(MatchAllQuery.of(maq -> maq))))
.script(script));
var updateResponse = client.updateByQuery(updateByQueryRequest);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.