Book Image

Elasticsearch Indexing

By : Huseyin Akdogan
Book Image

Elasticsearch Indexing

By: Huseyin Akdogan

Overview of this book

Beginning with an overview of the way ElasticSearch stores data, you’ll begin to extend your knowledge to tackle indexing and mapping, and learn how to configure ElasticSearch to meet your users’ needs. You’ll then find out how to use analysis and analyzers for greater intelligence in how you organize and pull up search results – to guarantee that every search query is met with the relevant results! You’ll explore the anatomy of an ElasticSearch cluster, and learn how to set up configurations that give you optimum availability as well as scalability. Once you’ve learned how these elements work, you’ll find real-world solutions to help you improve indexing performance, as well as tips and guidance on safety so you can back up and restore data. Once you’ve learned each component outlined throughout, you will be confident that you can help to deliver an improved search experience – exactly what modern users demand and expect.
Table of Contents (15 chapters)
Elasticsearch Indexing
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Bulk API


The bulk API allows to perform many index/delete operations in a single API call. It can greatly increase the indexing speed and should be preferred for optimal performance.

You can use the bulk API as follows:

curl -XPUT localhost:9200/_bulk --data-binary @/Users/hakdogan/Desktop/bulk.json

We're providing text file input to curl in the preceding command; therefore, we must use the --data-binary flag instead of plain -d. After the data flag, the full path of the file beginning should be noted with the @ symbol. The contents of the file are as follows:

{ "create" : { "_index" : "my_index", "_type" : "my_type", "_id": 1} }
{ "title":"How to use the Bulk API"}
{ "create" : { "_index" : "my_index", "_type" : "my_type", "_id": 2} }
{ "title":"Sizing bulk requests"}

If a document with the same index and type exists already, the request will fail for the create action. The following is an example of how to use the update and delete actions:

{ "update" : { "_index" : "my_index", "_type" : "my_type...