Book Image

Mastering Elasticsearch 5.x - Third Edition

By : Bharvi Dixit
Book Image

Mastering Elasticsearch 5.x - Third Edition

By: Bharvi Dixit

Overview of this book

Elasticsearch is a modern, fast, distributed, scalable, fault tolerant, and open source search and analytics engine. Elasticsearch leverages the capabilities of Apache Lucene, and provides a new level of control over how you can index and search even huge sets of data. This book will give you a brief recap of the basics and also introduce you to the new features of Elasticsearch 5. We will guide you through the intermediate and advanced functionalities of Elasticsearch, such as querying, indexing, searching, and modifying data. We’ll also explore advanced concepts, including aggregation, index control, sharding, replication, and clustering. We’ll show you the modules of monitoring and administration available in Elasticsearch, and will also cover backup and recovery. You will get an understanding of how you can scale your Elasticsearch cluster to contextualize it and improve its performance. We’ll also show you how you can create your own analysis plugin in Elasticsearch. By the end of the book, you will have all the knowledge necessary to master Elasticsearch and put it to efficient use.
Table of Contents (13 chapters)

Chapter 11. Developing Elasticsearch Plugins

In the last chapter, we saw how one can work on improving the performance and scaling of Elasticsearch clusters. We learned many useful concepts such as query validations and query profiling. We then read about hot threads to identify the issues in the cluster and then did a detailed coverage of how to scale the Elasticsearch clusters under different loads and requirements. We finally ended the chapter after discussing two awesome features, index shrinking and rollover, which are introduced in Elasticsearch version 5.0.

In this chapter, we are going to learn one of the most interesting things, and that is developing Elasticsearch custom plugins. By the end of this chapter, we will have covered the following topics:

  • How to set up the Apache Maven project for Elasticsearch plugin development
  • How to develop a custom REST action plugin
  • How to develop a custom analysis plugin extending Elasticsearch analysis capabilities