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操作(范围查询文档)

Elasticsearch7.8.0版本入门——JavaAPI操作(组合查询文档)

Elasticsearch7.8.0版本入门——JavaAPI操作(高亮查询文档)