elasticsearchtemplatejava_ElasticSearchJavaRE。。。

elasticsearchtemplatejava_ElasticSearchJavaRE。。。

2023年7月17日发(作者:)

elasticsearchtemplatejava_ElasticSearchJavaRE。。。ElasticSearch Java REST ⾼级客户端 内联模板 SearchTemplateElasticSearch 7.2.01.内联模板2.创建注册模板3.执⾏注册模板4.多模板5.创建客户端配置---pom⽂件对⼈⼯智能感兴趣点下⾯链接现在⼈⼯智能⾮常⽕爆,很多朋友都想学,但是⼀般的教程都是为博硕⽣准备的,太难看懂了。最近发现了⼀个⾮常适合⼩⽩⼊门的教程,不仅通俗易懂⽽且还很风趣幽默。所以忍不住分享⼀下给⼤家。点这⾥可以跳转到教程。1.内联模板/*** 内联模板*/public static void inlineTemplate() {//获取客户端var client = getClient();SearchTemplateRequest request = new SearchTemplateRequest();//指定索引uest(new SearchRequest("movies"));//设置为内联iptType();//设置脚本ipt("{" + " "query": { "match" : { "{{field}}" : "{{value}}" } },"+ " "size" : "{{size}}"" + "}");MapscriptParams = new HashMap<>();("field", "title");("value", "life");("size", 5);iptParams(scriptParams);try {SearchTemplateResponse response = Template(request, T);//输出查询结果ponse().getHits().forEach(::println);} catch (IOException e) {tackTrace();} finally {//关闭客户端close(client);}}2.创建注册模板注册模板的客户端要是⽤低级客户端,⾼级客户端没有提供注册模板注册模板建议直接执⾏命令,不要再java中执⾏,在java中做注册模板,变更时需要重新发布/*** 注册模板* 注册模板的客户端要是⽤低级客户端,⾼级客户端没有提供注册模板* 注册模板建议直接执⾏命令,不要再java中执⾏,在java中做注册模板,变更时需要重新发布* @return 返回注册模板是否注册成功*/private static int registerTemplate() {var client = getLowClient();Request scriptRequest = new Request("POST", "_scripts/movies_script");String json = "{" +" "script": {" +" "lang": "mustache"," +" "source": {" +" "query": { "match" : { "{{field}}" : "{{value}}" } }," +" "size" : "{{size}}"" +" }" +" }" +"}";nEntity(json);int statusCode = -1;try {Response response = mRequest(scriptRequest);// 响应状态⾏,可以从中获取状态码statusCode = tusLine().getStatusCode();} catch (IOException e) {tackTrace();} finally {close(client);}return statusCode;}3.执⾏注册模板/*** 执⾏注册模板*/public static void runRegisterTemplate() {int statusCode = registerTemplate();// 可以通过存储的脚本API预先注册搜索模板。// 注意,存储的脚本API在⾼级REST客户机中还不可⽤,因此在本例中,我们使⽤低级REST客户机。if (statusCode == 200) {SearchTemplateRequest request = new SearchTemplateRequest();uest(new SearchRequest("movies"));iptType();ipt("movies_script");Mapparams = new HashMap<>();("field", "title");("value", "life");("size", 5);iptParams(params);// 给定参数值,模板可以在不执⾏搜索的情况下呈现:ulate(true);lain(true);file(true);RestHighLevelClient rHClient = getClient();try {SearchTemplateResponse response = Template(request, T);SearchTemplateRequest request2 = new SearchTemplateRequest();uest(new SearchRequest("movies"));iptType();ipt(rce().utf8ToString());iptParams(new HashMap());response = Template(request2, T);SearchResponse sResponse = ponse();SearchHits hits = s();if(hits != null) {for (SearchHit hit : hits) {n(rceAsString());}}} catch (IOException e) {// TODO ⾃动⽣成的 catch 块tackTrace();}finally {try {();} catch (IOException e) {tackTrace();}}}}4.多模板public static void mulitTemplate() {RestHighLevelClient client = getClient();String [] searchTerms = {"life", "mom", "girl"};MultiSearchTemplateRequest multiRequest = new MultiSearchTemplateRequest();for (String searchTerm : searchTerms) {SearchTemplateRequest request = new SearchTemplateRequest();uest(new SearchRequest("movies"));iptType();ipt("{" +" "query": { "match" : { "{{field}}" : "{{value}}" } }," +" "size" : "{{size}}"" +"}");MapscriptParams = new HashMap<>();("field", "title");("value", searchTerm);("size", 1);iptParams(scriptParams);(request);}try {MultiSearchTemplateResponse multiResponse = hTemplate(multiRequest, T);h(item -> ponse().getResponse().getHits().forEach(::println));} catch (IOException e) {tackTrace();}}5.创建客户端创建⾼级客户端创建低级客户端关闭客户端/**** 关闭客户端** @param client*/private static void close(Closeable client) {try {();} catch (IOException e) {tackTrace();}}/*** 获取客户端** @return*/private static RestHighLevelClient getClient() {RestHighLevelClient client = new RestHighLevelClient(r(new HttpHost("elk-node01", 9200, "http"), new HttpHost("elk-node02", 9200, "http"),new HttpHost("elk-node03", 9200, "http")));return client;}/*** 获取低级客户端** @return*/private static RestClient getLowClient() {RestClient client = r(new HttpHost("elk-node01", 9200, "http"),new HttpHost("elk-node02", 9200, "http"), new HttpHost("elk-node03", 9200, "http")).build();return client;}配置---pomElasticsearch Java REST⾼级客户端 maven配置

发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1689539596a264481.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信