springboot项目 用OpenSearch 替换 ElasticSearch
3、代码中操作 opensearch的接口基本不需要改动,只需要将引入的类改为opensearch即可。2、修改config配置文件,将elasticsearch 的相关类替换为opensearch。//创建HttpHost数组,其中存放es主机和端口的配置信息。4、使用OpenSearch 需要jdk11 ,否则编译会报错。//创建RestHighLevelClient客户端。//解析hostl
·
步骤:
1、修改pom文件
将
<!--ES--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency>
替换为
<!--OPENSEARCH--> <dependency> <groupId>org.opensearch.client</groupId> <artifactId>opensearch-rest-high-level-client</artifactId> <version>2.6.0</version> </dependency>
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<split.length;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 ,否则编译会报错

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)