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