Elasticsearch JavaApi
Posted 一抹微笑~的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch JavaApi相关的知识,希望对你有一定的参考价值。
1.创建索引与数据
把json字符写入索引,索引库名为twitter、类型为tweet,id为1
语法
import static org.elasticsearch.common.xcontent.XContentFactory.*; IndexResponse response = client.prepareIndex("twitter", "tweet", "1") .setSource(jsonBuilder() .startObject() .field("user", "kimchy") .field("postDate", new Date()) .field("message", "trying out Elasticsearch") .endObject() ) .get();
相关用例
1 public static boolean create(String index, String type, @Nullable String id,String json){ 2 3 //index:索引库名 4 //type:类型 5 //id:文档的id 6 //json:json字符串 7 //response.isCreated():创建是否成功 8 IndexResponse response = client.prepareIndex(index, type, id) 9 // .setSource("{ \"title\": \"Mastering ElasticSearch\"}") 10 .setSource(json) 11 .execute().actionGet(); 12 13 return response.isCreated(); 14 15 }
2.删除索引与数据
索引库名为twitter、类型为tweet,id为1
语法
DeleteResponse response = client.prepareDelete("twitter", "tweet", "1").get();
相关用例
1 public static boolean remove(String index, String type, String id){ 2 3 //index:索引库名 4 //type:类型 5 //id:文档的id 6 //response.isFound():是否删除成功 7 DeleteResponse response = client.prepareDelete(index, type, id).get(); 8 9 return response.isFound(); 10 11 }
3.修改数据
你可以创建一个UpdateRequest并将其发送到客户端:
UpdateRequest updateRequest = new UpdateRequest(); updateRequest.index("index"); updateRequest.type("type"); updateRequest.id("1"); updateRequest.doc(jsonBuilder() .startObject() .field("gender", "male") .endObject()); client.update(updateRequest).get();
相关用例
1 UpdateRequest updateRequest = new UpdateRequest(); 2 updateRequest.index("library"); 3 updateRequest.type("book"); 4 updateRequest.id("1"); 5 updateRequest.doc(XContentFactory.jsonBuilder() 6 .startObject() 7 .field("name", "jackRose222") 8 .endObject()); 9 UpdateResponse updateResponse = client.update(updateRequest).get(); 10 11 System.out.println(updateResponse.isCreated());
也可以用prepareUpdate()
方法
client.prepareUpdate("ttl", "doc", "1") .setDoc(jsonBuilder() .startObject() .field("gender", "male") .endObject()) .get();
相关用例
1 UpdateResponse updateResponse = client.prepareUpdate("library", "book", "1") 2 .setDoc(XContentFactory.jsonBuilder() 3 .startObject() 4 .field("name", "male2") 5 .endObject()) 6 .get(); 7 8 System.out.println(updateResponse.isCreated());
4.查询
未完待续
以上是关于Elasticsearch JavaApi的主要内容,如果未能解决你的问题,请参考以下文章
Elasticsearch7.8.0版本入门——JavaAPI操作(文档操作)
Elasticsearch7.8.0版本入门——JavaAPI操作(批量操作文档)
Elasticsearch7.8.0版本入门——JavaAPI操作(批量操作文档)
Elasticsearch7.8.0版本入门——JavaAPI操作(范围查询文档)