0
0
Elasticsearchquery~5 mins

Bulk indexing optimization in Elasticsearch

Choose your learning style9 modes available
Introduction

Bulk indexing optimization helps you add many documents to Elasticsearch quickly and efficiently. It saves time and reduces server load.

When you need to add thousands of records to Elasticsearch at once.
When updating or inserting large amounts of data regularly.
When you want to reduce network calls by sending data in batches.
When you want to improve indexing speed and reduce resource use.
When importing data from databases or logs into Elasticsearch.
Syntax
Elasticsearch
POST /_bulk
{ "index" : { "_index" : "myindex", "_id" : "1" } }
{ "field1" : "value1" }
{ "index" : { "_index" : "myindex", "_id" : "2" } }
{ "field1" : "value2" }

Each action line (like index) must be followed by the document data line.

Use newline characters to separate each JSON object in the bulk request.

Examples
Indexes two product documents into the products index in one request.
Elasticsearch
POST /_bulk
{ "index" : { "_index" : "products", "_id" : "101" } }
{ "name" : "Chair", "price" : 25 }
{ "index" : { "_index" : "products", "_id" : "102" } }
{ "name" : "Table", "price" : 50 }
Deletes one document and updates another in a single bulk request.
Elasticsearch
POST /_bulk
{ "delete" : { "_index" : "products", "_id" : "101" } }
{ "update" : { "_index" : "products", "_id" : "102" } }
{ "doc" : { "price" : 45 } }
Sample Program

This example adds two book documents to the library index in one bulk request, making indexing faster.

Elasticsearch
POST /_bulk
{ "index" : { "_index" : "library", "_id" : "1" } }
{ "title" : "Learn Elasticsearch", "author" : "Anna" }
{ "index" : { "_index" : "library", "_id" : "2" } }
{ "title" : "Search Basics", "author" : "Ben" }
OutputSuccess
Important Notes

Keep bulk request size reasonable (e.g., 5-15 MB) to avoid memory issues.

Use the refresh parameter carefully; refreshing after every bulk slows indexing.

Check the response for errors to handle failed documents properly.

Summary

Bulk indexing sends many documents in one request to save time.

Use bulk API to improve speed and reduce network calls.

Watch request size and check for errors to keep indexing smooth.