java访问数据库的步骤(java代码大全及详解)
程序员文章站
2022-03-02 10:11:48
1.1 介绍福哥需要用java操作elasticsearch搜索引擎,经过了一番折腾终于搞定了。现在福哥整理了用java操作elasticsearch的方法,分享给大家。有需要的童鞋可以参考一下!在j...
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去完成查询功能,这个只能等福哥慢慢研究后再和大家分享了~~
未完待续。。。
上一篇: Mybatis源码解析之事务管理