You are on page 1of 10

Introduction to

SpringPeople Software Private Limited, All Rights Reserved.

What is Elasticsearch?
Elasticsearch is a search server based on Lucene.
It provides a distributed, multitenant-capable
full-text search engine with a RESTful web
interface
and
schema-free
JSON
documents. Elasticsearch is developed in Java
and is released as open source under the terms
of the Apache License.

SpringPeople Software Private Limited, All Rights Reserved.

What is multi-tenancy?
A cluster can host multiple indices which can be queried
independently or as a group. Index aliases allow you to add
indexes on the fly, while being transparent to your application.

SpringPeople Software Private Limited, All Rights Reserved.

Elasticsearch Index
ElasticSearch is able to achieve fast search responses because,
instead of searching the text directly, it searches an index
instead. This is like retrieving pages in a book related to a
keyword by scanning the index at the back of a book, as opposed
to searching every word of every page of the book.
This type of index is called an inverted index, because it inverts a
page-centric data structure (page->words) to a keyword-centric
data structure (word->pages).
ElasticSearch uses Apache Lucene to create and manage this
inverted index.

SpringPeople Software Private Limited, All Rights Reserved.

Mapping in Elasticsearch
Mapping is the process of defining how a document should be mapped to
the Search Engine, including its searchable characteristics such as which
fields are searchable and if/how they are tokenized. In Elasticsearch, an
index may store documents of different "mapping types". Elasticsearch
allows one to associate multiple mapping definitions for each mapping
type.
Explicit mapping is defined on an index/type level. By default, there isnt a
need to define an explicit mapping, since one is automatically created and
registered when a new type or new field is introduced (with no
performance overhead) and have sensible defaults. Only when the
defaults need to be overridden must a mapping definition be provided.

SpringPeople Software Private Limited, All Rights Reserved.

Distributed Nature of Elasticsearch


Elasticsearch tries hard to hide the complexity of distributed systems. Here
are some of the operations happening automatically under the hood:
Partitioning your documents into different containers or shards, which can
be stored on a single node or on multiple nodes
Balancing these shards across the nodes in your cluster to spread the
indexing and search load
Duplicating each shard to provide redundant copies of your data, to
prevent data loss in case of hardware failure
Routing requests from any node in the cluster to the nodes that hold the
data youre interested in
Seamlessly integrating new nodes as your cluster grows or redistributing
shards to recover from node loss
SpringPeople Software Private Limited, All Rights Reserved.

Data flow examples


There are different design patterns for different use cases, but
each of them is focusing on how we would like to move the data
around.
One index - sensible default if we are starting small.
One index / user - if searches are user-centric, and it might be
extended with routing and aliasing.
Time-based index - e.g. one index for each day, week or
month. It is easy to make 'last 3 months' alias, old indices can
be optimized, moved or deleted easily.

SpringPeople Software Private Limited, All Rights Reserved.

How you can master Elasticsearch?


Become an expert in 2 days.
World class Core Elasticsearch corporate training by the
industry experts.

More Details

SpringPeople Software Private Limited, All Rights Reserved.

Suggested Audience & Other Details


Suggested Audience - Developers who would like to build
efficient, real-time search solutions.
Duration 2 Days
Prerequisites
Exposure to or interest in Elasticsearch, relational databases,
distributed systems, or information retrieval.

Syllabus

SpringPeople Software Private Limited, All Rights Reserved.

For further info/assistance contact


training@springpeople.com
+91 80 656 79700
www.springpeople.com

Our Partners

SpringPeople Software Private Limited, All Rights Reserved.

You might also like