java elasticsearch操作(一): 连接elasticsearch8.x

  • 原因

java操作elasticsearch的博文很多,大多都是复制粘贴,要不就是过时,抄来抄去没啥意思,所以这个系列就简单记录一下。

  • elasticsearch单机或集群搭建

此过程略过

  • java连接elasticsearch单机

代码如下:

RestClient restClient = RestClient.builder(new HttpHost("localhost", 9200)).build();

// 
ElasticsearchTransport transport = new RestClientTransport( restClient, new JacksonJsonpMapper());

// 
ElasticsearchClient client = new ElasticsearchClient(transport);

很简单吧,把IP和端口代入即可,具体源码就不展开了

csdn博主: liming10101010原创csdn博主: liming10101010原创

带密码就加一个CredentialsProvider,代码如下:

CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(name, pwd));

RestClient restClient = RestClient.builder(new HttpHost("192.168.1.201", 9200, "https"))
                .setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider))
                .build();

参数一目了然,是https就在后面加个https即可。

  • java连接elasticsearch集群

代码如下:

HttpHost[] httpHosts = {new HttpHost("192.168.1.201", 9200, "https"),
                                new HttpHost("192.168.1.203", 9200, "https"),
                                new HttpHost("192.168.1.203", 9200, "https"),};

 RestClient restClient = RestClient.builder(httpHosts).build();

是不是很容易,so easy,加上密码如下:

opencv for android(二十三):使用opencv人脸64点位实现人脸装饰物_liming10101010的博客-CSDN博客

CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(name, pwd));

HttpHost[] httpHosts = {new HttpHost("192.168.1.201", 9200, "https"),
                                new HttpHost("192.168.1.203", 9200, "https"),
                                new HttpHost("192.168.1.203", 9200, "https"),};

RestClient restClient = RestClient.builder(httpHosts)
                .setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider))
                .build();
  • 代码封装如下:
public static init(String hosts, String name, String pwd){
    CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
    credentialsProvider.setCredentials(AuthScope.ANY, new     UsernamePasswordCredentials(name, pwd));


     HttpHost[] httpHosts = Arrays.stream(hosts.split(",")).map(x -> {
            String[] hostInfo = x.split(":");
            return new HttpHost(hostInfo[1].replaceAll("//", ""), Integer.parseInt(hostInfo[2]), hostInfo[0]);
        }).toArray(HttpHost[]::new);


     RestClient restClient = RestClient.builder(httpHosts)
                .setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider))
                .build();
}

使用就主要这样了:

opencv for android(二十四):使用opencv的BackgroundSubtractorKNN动态追踪_liming10101010的博客-CSDN博客

String [] hosts = {"192.168.1.200:9200", "192.168.1.201:9200", "192.168.1.202:9200"};
init(hosts, "root", "root");

ok,连接完成

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liming10101010

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值