栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java链接es,springboot集成es

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java链接es,springboot集成es

springboot项目,某日同事说,这个接口的数据不插mysql了,存到es里面了,改一下吧,什么是es?怎么改?什么是es我就不写了,直接来代码吧

1、查看es版本 怎么查看你的es版本,访问http://ip:port/  换成你自己的,如果有账密的会让你输入账密,里面的number就是版本号

 2.根据版本导入依赖

            org.elasticsearch
            elasticsearch
            6.5.2
        

        
            org.elasticsearch.client
            elasticsearch-rest-high-level-client
            6.5.2
        
3.写单测

import com.alibaba.fastjson.JSON;
import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestClientBuilder;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.index.query.QueryBuilders;
import org.junit.Test;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;


public class TestE {
//查询
    @Test
    public void highClient() throws IOException {
        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        credentialsProvider.setCredentials(AuthScope.ANY,
                new UsernamePasswordCredentials("USER_NAME", "PASSWORD"));  //es账号密码(默认用户名为elastic)
        RestHighLevelClient client = new RestHighLevelClient(
                RestClient.builder(
                        new HttpHost("IP", 9200, "http"))
                        .setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
                            public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
                                httpClientBuilder.disableAuthCaching();
                                return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
                            }
                        }));
        SearchRequest request = new SearchRequest("INDEX_NAME");
        request.source().query(QueryBuilders.matchQuery("user_id","000UC020000130481"));
//        request.source().query(QueryBuilders.matchAllQuery());
        //发起请求,得到响应结果
        SearchResponse response = client.search(request, RequestOptions.DEFAULT);
        //输出响应结果
        System.out.println(JSON.toJSONString(response));
    }
//插入

    @Test
    public void testInsert() {
        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        credentialsProvider.setCredentials(AuthScope.ANY,
                new UsernamePasswordCredentials("USER_NAME", "PASSWORD"));  //es账号密码(默认用户名为elastic)
        RestHighLevelClient client = new RestHighLevelClient(
                RestClient.builder(
                        new HttpHost("IP", 9200, "http"))
                        .setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
                            public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
                                httpClientBuilder.disableAuthCaching();
                                return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
                            }
                        }));
        IndexRequest request = new IndexRequest("INDEX","TYPE","IP");
        Map jsonMap = new HashMap<>();
        jsonMap.put("age", "10");
        jsonMap.put("class_name", "2");
        jsonMap.put("teacher", "Elly");

        request.source(jsonMap);
        IndexResponse response = null;
        try {
            response = client.index(request, RequestOptions.DEFAULT);
            if(response.getResult().name().equalsIgnoreCase("created")){

                System.out.println("OK");
            }else {
                System.out.println("ERROR");
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

注意把里面的相关信息改成你自己的啊,ps我链接es的版本是6.5.2如果你的版本,由于版本差太多代码可能也会无效的。

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1017170.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号