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 requestsbulkRequest.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}
翻译欠佳。希望不会对大家造成误导