elasticsearch在java项目中引用
-
本地下载并启动elasticsearch
下载地址:
官网下载:https://www.elastic.co/cn/downloads/elasticsearch
本地下载windows版本即可,默认是下载最新版,我们可以在以往版本中下载自己想要的版本,我这里使用的是elasticsearch-6.5.1;地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch
-
修改本地的elasticsearch配置文件,启动elasticsearch
解压之后进入elasticsearch-6.5.1\config目录下,修改elasticsearch.yml文件,内容如下;
cluster.name: my-application
network.host: 127.0.0.1
http.port: 9200其中cluster.name的参数可以自定义;
修改好以后进入elasticsearch-6.5.1\bin目录,双击elasticsearch.bat启动elasticsearch
如上就已经启动成功了。
elasticsearch在java环境中的应用
参照的官方文档:https://www.elastic.co/guide/en/elasticsearch/client/java-rest/master/index.html
- 添加依赖
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.10.1</version>
</dependency>
-
在java中测试存储和查询api
存储文档官方参考地址:https://www.elastic.co/guide/en/elasticsearch/client/java-rest/master/java-rest-high-document-index.html
查询文档官方参开地址:https://www.elastic.co/guide/en/elasticsearch/client/java-rest/master/java-rest-high-document-get.html
@Override public Boolean addDoc() throws IOException { // 指定ES集群 Settings setting = Settings.builder().put("cluster.name", "my-application").build(); // 创建访问ES服务器的客户端 RestHighLevelClient client = new RestHighLevelClient( RestClient.builder(new HttpHost("localhost", 9200, "http"))); IndexRequest request = new IndexRequest("posts", "xcc"); // 模拟存储参数 String jsonString = "{" + "\"user\":\"kimchy\"," + "\"postDate\":\"2013-01-30\"," + "\"message\":\"trying out Elasticsearch\"" + "}"; request.source(jsonString, XContentType.JSON); IndexResponse indexResponse = client.index(request, RequestOptions.DEFAULT); // 获取存储后的文档id log.info("indexResponse.getId()=" + indexResponse.getId()); return null; } @Override public Boolean selectDoc() throws IOException { GetRequest getRequest = new GetRequest("posts", "xcc", "Vi6eenoBNzsJBbhTCUwT"); GetResponse getResponse = client.get(getRequest, RequestOptions.DEFAULT); log.info("getResponse=" + getResponse.getSourceAsString()); return null; }
其他相关功能请参照文档自行研究。