一、es的简单使用
1.1连接es客户端
RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(new HttpHost("localhost", 9200)));
1.2操作索引
#创建索引
CreateIndexResponse response = client.indices().create(index, RequestOptions.DEFAULT);
#删除索引
AcknowledgedResponse response = client.indices().delete(user, RequestOptions.DEFAULT);```
1.3批量操作数据(使用bulk)
BulkRequest bulkRequest = new BulkRequest();
bulkRequest.add( new IndexRequest().index("user").id("001").source(XContentType.JSON,"name","zhangsan"));
bulkRequest.add( new IndexRequest().index("user").id("002").source(XContentType.JSON,"name","lisi"));
bulkRequest.add( new IndexRequest().index("user").id("003").source(XContentType.JSON,"name","wangwu"));
BulkResponse responses = client.bulk(bulkRequest, RequestOptions.DEFAULT);
1.3全量查询
searchRequest.source(new SearchSourceBuilder().query(QueryBuilders.matchAllQuery()));
SearchResponse response = client.search(searchRequest, RequestOptions.DEFAULT);
1.4组合查询
BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder();
boolQueryBuilder.must(QueryBuilders.matchQuery("name","zhangsan"));
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder().query(boolQueryBuilder);
1.5范围查询和模糊查询
相对于组合查询,范围查询使用rangeQuery,模糊查询使用fuzzyQuery