introduction to elasticsearch - springpeople

10
© SpringPeople Software Private Limited, All Rights Reserved. © SpringPeople Software Private Limited, All Rights Reserved. Introduction to

Upload: springpeople

Post on 16-Jul-2015

991 views

Category:

Education


4 download

TRANSCRIPT

Page 1: Introduction to elasticsearch - SpringPeople

© SpringPeople Software Private Limited, All Rights Reserved. © SpringPeople Software Private Limited, All Rights Reserved.

Introduction to

Page 2: Introduction to elasticsearch - SpringPeople

© 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.

Page 3: Introduction to elasticsearch - SpringPeople

© 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.

Page 4: Introduction to elasticsearch - SpringPeople

© 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.

Page 5: Introduction to elasticsearch - SpringPeople

© 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 isn’t 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.

Page 6: Introduction to elasticsearch - SpringPeople

© 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 you’re interested in

• Seamlessly integrating new nodes as your cluster grows or redistributing shards to recover from node loss

Page 7: Introduction to elasticsearch - SpringPeople

© 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.

Page 8: Introduction to elasticsearch - SpringPeople

© 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

Page 9: Introduction to elasticsearch - SpringPeople

© 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

Page 10: Introduction to elasticsearch - SpringPeople

© SpringPeople Software Private Limited, All Rights Reserved.

For further info/assistance contact

[email protected]

+91 80 656 79700

www.springpeople.com

Our Partners