• Elasticsearch的javaAPI之get,delete,bulk


    Elsasticsearch的javaAPI之get

    get API同意依据其id获得指定index中的基于json document。以下的样例得到一个JSON document(index为twitter,type为tweet,id为价值1)

     

    GetResponse response = client.prepareGet("twitter", "tweet", "1")
            .execute()
            .actionGet();
    
    

    在get操作的很多其它信息,能够查看REST get docs

    线程操作

    Get API同意你设置线程来运行操作。这样实际将运行API上运行的是同样的节点(API上运行一个分配在同一server的shard上)。

    选择一个不同的线程上运行操作,或调用线程上运行它(注意,API仍然异步)。 默认情况下, operationThreaded 被设置为true这意味着操作是由不同的线程上运行以下是一个演示样例,设置为false:

    GetResponse response = client.prepareGet("twitter", "tweet", "1")
            .setOperationThreaded(false)
            .execute()
            .actionGet();

     

    Elsasticsearch的javaAPI之delete

    delete API同意依据其id删除指定index中的json document。以下的样例:删除一个JSON document(index为twitter,type为tweet,id为价值1)  

    DeleteResponse response = client.prepareDelete("twitter", "tweet", "1")
            .execute()
            .actionGet();

    在删除操作的很多其它信息,查看delete API docs。

    线程操作

    Delete API同意你设置线程来运行操作。这样实际姜运行API上运行的是同样的节点(API上运行一个分配在同一server的shard上)。

    选择一个不同的线程上运行操作,或调用线程上运行它(注意,API仍然异步)。

    默认情况下, operationThreaded 被设置为true这意味着操作是由不同的线程上运行以下是一个演示样例,设置为false:

    DeleteResponse response = client.prepareDelete("twitter", "tweet", "1")
            .setOperationThreaded(false)
            .execute()
            .actionGet();

     

    Elasticsearch的javaAPI之bulk

    Bulk API能够用来在一个请求中,检索和删除多条数据,以下是一个样例:

    import static org.elasticsearch.common.xcontent.XContentFactory.*;
    BulkRequestBuilder bulkRequest = client.prepareBulk();


    // either use client#prepare, or use Requests# to directly build index/delete requests
    bulkRequest.add(client.prepareIndex("twitter", "tweet", "1")
            .setSource(jsonBuilder()
                        .startObject()
                            .field("user", "kimchy")
                            .field("postDate", new Date())
                            .field("message", "trying out Elasticsearch")
                        .endObject()
                      )
            );
    bulkRequest.add(client.prepareIndex("twitter", "tweet", "2")

            .setSource(jsonBuilder()
                        .startObject()
                            .field("user", "kimchy")
                            .field("postDate", new Date())
                            .field("message", "another post")
                        .endObject()
                      )
            );
    BulkResponse bulkResponse = bulkRequest.execute().actionGet();

    if (bulkResponse.hasFailures()) {
        // process failures by iterating through each bulk response item
    }

    原文http://www.elasticsearch.org/guide/en/elasticsearch/client/java-api/current/get.html
        http://www.elasticsearch.org/guide/en/elasticsearch/client/java-api/current/delete.html
        http://www.elasticsearch.org/guide/en/elasticsearch/client/java-api/current/bulk.html
    翻译欠佳。希望不会对大家造成误导
  • 相关阅读:
    [程序员必备工具]分享一款不错的个人代码个人知识管理软件wiz
    移动开发,如何选择手机软件开发​平台?
    Best Wishes,my Married Friend!
    三年来最开心的一天!
    “世事无绝对”也是相对的……
    又到世界CUP……
    利物浦,总是在我情绪低落时给我鼓舞!
    一种感觉
    How to break to loop? It frustrates me!
    取舍有度,学会放弃……
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/6715095.html
Copyright © 2020-2023  润新知