1.1简介
富哥需要用Java操作Elasticsearch搜索引擎,经过一番折腾,终于搞定。现在富哥整理了用Java操作Elasticsearch的方法,分享给大家。有需要的童鞋可以咨询!
用Java操作elasticsearch搜索引擎是通过官方的Elasticsearch库实现的。
2.装置
2.1 pom.xml
首先,我们在pom.xml中安装依赖库elasticsearch
<!-- elasticsearch --><dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>7.13.0</version></dependency><dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-client</artifactId> <version>7.13.0</version></dependency>
2.2应用程序.属性
设置ES参数
############################################################################### elasticsearch##############################################################################nosql.elasticsearch.host=192.168.2.168nosql.elasticsearch.port=9200nosql.elasticsearch.scheme=http
3.旧方案
3.1 org . elastic search . client . client
官方这是一个简单的例子,不适合多集群环境。建议使用TransportClient作为客户端。
使用
4.1 Bean
首先,我们需要为RestClient创建自己的Bean,因为Spring boot不关心这个。
@Beanpublic RestClient ESLowLevelClient( @Value("${nosql.elasticsearch.host}") String hostName, @Value("${nosql.elasticsearch.port}") int port, @Value("${nosql.elasticsearch.scheme}") String scheme){ return RestClient.builder( new HttpHost(hostName, port, scheme) ).build();}
4.2测试
现在我们使用控制器中的@Resource注释来初始化RestClient对象,然后用它来操作ES搜索引擎。
因为RestClient通过标准HTTP操作es,所以Fuge只提供两个例子,大家可以举一反三。
@ResourceRestClient restClient;
总之,您可以获得RestClient对象的一个实例。
4.3索引列表
现在Fuge通过RestClient获取索引列表。由于RestClient只支持JSON格式,所以我们使用EntityUtils来转换。
4.3.1代码
@RequestMapping ("/net.tongfu.tfspring.elasticsearch")private String testElasticsearch() throws IOException { String out = ""; Request request = new Request("GET", "/_cat/indices"); Response response = restClient.performRequest(request); HttpEntity httpEntity = response.getEntity(); out += EntityUtils.toString(httpEntity); return out;}
4.3.2效果
5.摘要
福哥研究了很久,也没人用RestClient来完成查询功能。这个只能等福哥慢慢学习了再和你分享~ ~
未完待续。。。
本文来自罗金艺还行吧投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/601432.html