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

Types


One of the most important issues when configuring an index is that the document field must be configured with the appropriate data type. The type mapping allows us to control the data type of each field in a document. Now let's examine some types of other than the core types.

Object type

A JSON document can contain inner objects. When such a document is sent, Elasticsearch completely understands the nature of those inner objects and makes them searchable, for example, as follows:

curl -XPOST localhost:9200/my_index/department -d '{
  "computing": {
    "person": {
      "name": {
        "firstname": "Martin",
        "lastname": "Fowler"
      }
    }
  }
}'
{"_index":"my_index","_type":"department","_id":"AU84K4PGEOfq-PnkfR_e","_version":1,"created":true}

curl -XGET localhost:9200/my_index/department/_search?pretty -d '{
  "query": {
    "match": {
      "computing.person.name.firstname": "martin"
    }
  }
}'
{
   "took": 4,
   "timed_out": false,
   "_shards": {
      "total": 5...