ElasticSearch6.5.4<一>单机部署以及简单尝试
ElasticSearch6.5.4<二>几个重要概念以及常用搜索
ElasticSearch6.5.4<三>中文以及拼音的操作
ElasticSearch6.5.4<四>java使用ES并实战搜索
ElasticSearch6.5.4<五>集群操作
ElasticSearch6.5.4<六>ELK和Logstash同步数据
ElasticSearch6.5.4<七>ES分布式原理以及工作原理
ElasticSearch6.5.4<八>ES常见问题
前言
java的es客户端有两种Java REST Client和Java API,Java REST Client分为Java Low Level REST Client和Java High Level REST Client,Java API分为Node Client和Transport Client
在Java API中,官方明确表示了Transport Client7.x开始不推荐,8.x开始废除,Node Client在2.3开始推荐用Transport Client替代。目前推荐使用Java REST Client
java整合选型
SpringMVC:我选择Java REST Client,自己封装es client然后进行调用
SpringBoot:参考最新文章SpringBoot集成ElasticSearch的几种方式
Java REST Client基本使用
参考文档:https://www.elastic.co/guide/en/elasticsearch/client/java-rest/6.5/index.html
1导入
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>6.5.4</version>
</dependency>
2实例化
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(
new HttpHost("localhost", 9200, "http"),
new HttpHost("localhost", 9201, "http")));
3新增
IndexRequest request = new IndexRequest(
"posts",
"doc",
"1");
String jsonString = "{" +
"\"user\":\"kimchy\"," +
"\"postDate\":\"2013-01-30\"," +
"\"message\":\"trying out Elasticsearch\"" +
"}";
request.source(jsonString, XContentType.JSON);
4查询
SearchRequest searchRequest = new SearchRequest();
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(QueryBuilders.matchAllQuery());
searchRequest.source(searchSourceBuilder);
5修改
UpdateRequest request = new UpdateRequest(
"posts",