步骤:

1、修改pom文件

org.springframework.boot

spring-boot-starter-data-elasticsearch

 替换为

org.opensearch.client

opensearch-rest-high-level-client

2.6.0

2、修改config配置文件,将elasticsearch 的相关类替换为opensearch

将引入的类改为opensearch

import org.opensearch.client.RestClient;

import org.opensearch.client.RestHighLevelClient;

@Bean(value = "RestHighLevelClient", destroyMethod = "close")

public RestHighLevelClient restHighLevelClient(){

//解析hostlist配置信息

String[] split = hostlist.split(",");

//创建HttpHost数组,其中存放es主机和端口的配置信息

HttpHost[] httpHostArray = new HttpHost[split.length];

for(int i=0;i

String item = split[i];

httpHostArray[i] = new HttpHost(item.split(":")[0], Integer.parseInt(item.split(":")[1]), "http");

}

//创建RestHighLevelClient客户端

return new RestHighLevelClient(RestClient.builder(httpHostArray).setHttpClientConfigCallback(httpClientBuilder -> {

httpClientBuilder.setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE);

BasicCredentialsProvider credentialsProvider = new BasicCredentialsProvider();

credentialsProvider.setCredentials(AuthScope.ANY,new UsernamePasswordCredentials(userName, password));

httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);

return httpClientBuilder;

}));

}

3、代码中操作 opensearch的接口基本不需要改动,只需要将引入的类改为opensearch即可

import org.opensearch.action.search.SearchRequest;

import org.opensearch.action.search.SearchResponse;

import org.opensearch.client.RequestOptions;

import org.opensearch.client.RestHighLevelClient;

import org.opensearch.index.query.BoolQueryBuilder;

import org.opensearch.index.query.QueryBuilders;

 4、使用OpenSearch 需要jdk11 ,否则编译会报错

文章链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。