summaryrefslogtreecommitdiff
path: root/docs/java-api/bulk.asciidoc
diff options
context:
space:
mode:
Diffstat (limited to 'docs/java-api/bulk.asciidoc')
-rw-r--r--docs/java-api/bulk.asciidoc38
1 files changed, 38 insertions, 0 deletions
diff --git a/docs/java-api/bulk.asciidoc b/docs/java-api/bulk.asciidoc
new file mode 100644
index 0000000..9b53d3a
--- /dev/null
+++ b/docs/java-api/bulk.asciidoc
@@ -0,0 +1,38 @@
+[[bulk]]
+== Bulk API
+
+The bulk API allows one to index and delete several documents in a
+single request. Here is a sample usage:
+
+[source,java]
+--------------------------------------------------
+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
+}
+--------------------------------------------------