Book Image

Mastering Elasticsearch 5.x - Third Edition

Book Image

Mastering Elasticsearch 5.x - Third Edition

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 (20 chapters)
Mastering Elasticsearch 5.x - Third Edition
Credits
About the Author
Acknowledgements
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Painless - the new default scripting language


With the release of Elasticsearch 5.0, we can use a new scripting language that has become the default: Painless. It is a simple and secure scripting language available in Elasticsearch by default and does not require any plugin to be installed. Painless is designed specifically for use with Elasticsearch and can safely be used with inline and stored scripting, without worrying about any security issues or configuration changes.

Using Painless as your scripting language

There is not much documentation available on the Painless scripting language yet but according to the Elasticsearch official documentation, Painless syntax is similar to Groovy. Although we will cover how to use Painless with some examples in the next sections, lets first learn about the basics of Painless syntax and semantics.

Variable definition in scripts

Painless allows us to define variables in scripts used in Elasticsearch. To define a new variable, we use the def keyword followed...