Speeding up atomic operations (bulk operations)
When we are inserting/deleting/updating a large number of documents, the HTTP overhead is significant. To speed up the process Elasticsearch allows executing the bulk of CRUD calls.
Getting ready
You need an up-and-running Elasticsearch installation, as used in the Downloading and installing Elasticsearch recipe in Chapter 2, Downloading and Setup.
To execute curl
via the command line, you need to install curl
for your operative system.
How to do it...
As we are changing the state of the data, the HTTP method is POST
and the REST URL is:
http://<server>/<index_name/_bulk
To execute a bulk action, we will perform the following steps:
We need to collect the
create
/index
/delete
/update
commands in a structure made of bulk JSON lines, composed by a line of action with metadata and another optional line of data related to the action. Every line must end with a new line\n
. A bulk data file should be, for example:{ "index":{ "_index":"myindex...