一、基本操作类型
通用: /index/type/
二、Java操作Es,添加数据
- 导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
2.配置请求host
private HttpHost[] http={
new HttpHost("139.224.234.236",9200,"http")
};
private RestHighLevelClient client;
3 执行操作es
//new 一个客户端 ,传入请求配置
client=new RestHighLevelClient(RestClient.builder(http));
//新建一个请求,传入index,id,
IndexRequest jqf = new IndexRequest().index("jqf").id("101").source(Map);
//client 客户端创建索引(请求体, RequestOptions.DEFAULT)
IndexResponse rsp = client.index(jqf, RequestOptions.DEFAULT);
三、Java操作Es,获取数据
client=new RestHighLevelClient(RestClient.builder(http));
//新建 GetRequest() 设置 查询条件
GetRequest getRequest = new GetRequest();
getRequest.index("jqf").id("101");
try {
//client的get 方法获取数据
GetResponse rsp = client.get(getRequest,RequestOptions.DEFAULT);
System.out.println(rsp);
} catch (IOException e) {
e.printStackTrace();
}
四、Java操作Es,更新数据
HashMap<String, Object> Map = new HashMap<>();
Map.put("name","jiangqf");
client=new RestHighLevelClient(RestClient.builder(http));
UpdateRequest updateRequest = new UpdateRequest();
updateRequest.index("jqf").id("101").doc(Map);//必须要
try {
UpdateResponse rsp = client.update(updateRequest,RequestOptions.DEFAULT);
System.out.println(rsp);
} catch (IOException e) {
e.printStackTrace();
}
五、Java操作Es,删除数据
client=new RestHighLevelClient(RestClient.builder(http));
DeleteRequest deleteRequest = new DeleteRequest();
deleteRequest.index("jqf").id("101");
try {
DeleteResponse rsp = client.delete(deleteRequest,RequestOptions.DEFAULT);
System.out.println(rsp);
} catch (IOException e) {
e.printStackTrace();
}
六、批量增删改
client=new RestHighLevelClient(RestClient.builder(http));
// 设置索引,添加数据
IndexRequest request = new IndexRequest();
request.index("bulk").id("3").source(XContentType.JSON,"name","abc","age",18);
//创建批量对象
BulkRequest bulkRequest = new BulkRequest();
//批量对象增加请求
bulkRequest.add(request);
bulkRequest.add(request12345);
//客户端发起批量请求
client.bulk(bulkRequest,RequestOptions.DEFAULT);
client.close();
七、查询数据
client=new RestHighLevelClient(RestClient.builder(http));
//设置查询条件
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(QueryBuilders.matchAllQuery());
//设置查询逻辑
SearchRequest searchRequest = new SearchRequest();
searchRequest.source(searchSourceBuilder).indices("bulk");//indices指的哪些索引
//客户端执行查询
SearchResponse rsp = client.search(searchRequest, RequestOptions.DEFAULT);
System.out.println(rsp);
//查询结果获取hits里的数据
SearchHit[] hits = rsp.getHits().getHits(); //拿到list
for (SearchHit hit : hits) {
Map<String, Object> source = hit.getSourceAsMap();
System.out.println("name是");
System.out.println(source.get("name"));
}
client.close();
八、查询数据(模糊匹配)
client=new RestHighLevelClient(RestClient.builder(http));
//设置查询条件
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(QueryBuilders.multiMatchQuery(18,"age"));
//设置查询逻辑索引
SearchRequest searchRequest = new SearchRequest();
searchRequest.source(searchSourceBuilder).indices("bulk");//indices指的哪些索引
//执行查询
SearchResponse rsp = client.search(searchRequest, RequestOptions.DEFAULT);
System.out.println(rsp);
client.close();
版权声明:本文为qq_36814734原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。