//Karthik Srinivasan

Product Engineer, CTO & a Beer Enthusiast
Experiments, thoughts and scripts documented for posterity.

Quirky Personal Projects

LinkedIn

Email me



Elasticsearch Essentials - A book if I had completed 🤥

Aug, 2017

Mastering Elasticsearch fundamentals for reliable and high performance search

Current Status

Startup life (Pixibo) has put a hold on this now outdated book 🤐

Audience

This book is intended for users who are looking into using Elasticsearch as their primary search technology and would like to build a reliable and scalable Elasticsearch infrastructure along with appropriate index mappings and search techniques and queries. This books assumes the reader has some basic knowledge of using REST api's and lucene.

Mission

To provide a solid foundational understanding of various core elasticsearch concepts to help in avoiding irreversible changes during early planning stages of development and provide guidance for building a scalable, fault tolerant and distributed elasticsearch environment.

Objectives and achievements

The book aims to provide a good foundational understanding of core elasticsearch concepts such as mapping, filters, queries and search and the move on to more advanced search techniques such as scripting and indexing strategies to help build an efficient search platform. Besides providing understanding of core concepts the book also provides guidance for building a highly reliable, fault tolerant and scalable Elasticsearch cluster for production environments along with cautionary tips and gotchas that one must be aware off to avoid any unexpected behaviors.

General structure

Chapter 1: Introduction to Elasticsearch

Description

This chapter provides an introduction to elasticsearch core concepts such as creating indexes, mappings and performing simple searches. This level of detail will help guide the users to more advanced and core capabilities of Elasticsearch in further chapters

Topics covered

Skills learned

Chapter 2: Elasticsearch Document Tour

Description

This chapters provides a gentle introduction to all core concepts, retrieval and storage of manipulating data a.k.a documents in elasticsearch

Topics covered

Skills learned

Chapter 3: Conquering Mappings

Description

This chapter providers the core knowledge of on how to effectively setup index and property mappings using built in and the most commonly used analysers and tokenizers along with dynamic templating for fields and it’s impact on search query performance and indexing as these are some of the foundational layers in building a performant search. As part of this chapter, more settings such using eager loading, global ordinals as well as setting doc values for saving memory and using the disk effectively.

Topics covered

Skills learned

Chapter 4: Performing Complex search in Elasticsearch

Description

This chapter providers an in-depth knowledge of how to affectively use a combination of queries and filters to perform valid and efficient search based on scoring, filtering and text.

Topics covered

Skills learned

Chapter 5: Scripting when Queries aren’t Enough

Description

This chapter provides an introduction to elasticsearch Scripting languages and its capabilies along with various scripting techniques for filtering, custom scoring and sorting options.

Topics covered

Skills learned

Chapter 6: Distributed and Fault Tolerant Elasticsearch

Description

This chapter provides how Elasticsearch can be setup and configured in a clustered environment to be highly available, distributed and fault tolerant. Having a fault tolerant and recoverable system is the foundation of any distributed system which this chapter tends to address for any production deployment.

Topics covered

Skills learned

Chapter 7: Elasticsearch Gotchas, Cautionary tales and Backup-Restore

Description

This chapter provides an overview and cautionary alerts that a Elasticsearch user must be aware during the initial setup of Elasticsearch as well as settings and other data that one might take for granted could have serious side effects over the long run. As part of this chapter, one would learn how to secure Elasticsearch from malicious external requests.

Topics covered

Skills learned

Chapter 8: Finding images based of their dominant color

Description

This chapter provides an full-fledged example including mapping, index settings, queries and filters on how to perform a color based search of indexed images with indexed RGB data

Topics covered

Skills learned