网站首页 > 博客文章 正文
1. 介绍
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 application.properties
设置ES参数
##############################################################################
# elasticsearch
##############################################################################
nosql.elasticsearch.host=192.168.2.168
nosql.elasticsearch.port=9200
nosql.elasticsearch.scheme=http
3. 旧方案
3.1 org.elasticsearch.client.Client
这个官方说是一个简单的示例,不太适合多集群的环境,建议使用TransportClient这个客户端。
4. 使用
4.1 Bean
首先我们需要自己创建Bean来给RestClient使用,因为Spring boot不管这事儿。
@Bean
public 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,所以福哥就只提供两个示例,大家可以举一反三。
@Resource
RestClient restClient;
就一句话,就可以得到RestClient对象的实例了。
4.3 索引列表
现在福哥通过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://m.tongfu.net/home/35/blog/512919.html
猜你喜欢
- 2024-09-08 全文搜索引擎Elasticsearch的基本概念和操作
- 2024-09-08 搜索引擎的 ORM 库 bboss-elasticsearch
- 2024-09-08 IT博物馆之Elasticsearch搜索引擎
- 2024-09-08 elasticsearch在数据量很大的情况下(数十亿)如何提高查询效率
- 2024-09-08 硬核!逛了5年的Github一口气把我收藏的JAVA开源项目分享给你
- 2024-09-08 Elasticsearch构建全文搜索系统(elasticsearch全文检索原理)
- 2024-09-08 企业级搜索平台springboot-elasticsearch
- 2024-09-08 ES 搜索引擎的分片数、副本数分配算法
- 2024-09-08 Java 程序员如何通过 ElasticSearch 构建极致的搜索体验?
- 2024-09-08 轻量级搜索引擎,使用简单,搜索速度快,是真的快。#java
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)