Elasticsearch的javaAPI之get,delete,bulk,elasticsearch


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上执行一个分配在同一服务器的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上执行一个分配在同一服务器的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
翻译欠佳,希望不会对大家造成误导

相关内容