Book Image

Elasticsearch 7.0 Cookbook - Fourth Edition

By : Alberto Paro
Book Image

Elasticsearch 7.0 Cookbook - Fourth Edition

By: Alberto Paro

Overview of this book

Elasticsearch is a Lucene-based distributed search server that allows users to index and search unstructured content with petabytes of data. With this book, you'll be guided through comprehensive recipes on what's new in Elasticsearch 7, and see how to create and run complex queries and analytics. Packed with recipes on performing index mapping, aggregation, and scripting using Elasticsearch, this fourth edition of Elasticsearch Cookbook will get you acquainted with numerous solutions and quick techniques for performing both every day and uncommon tasks such as deploying Elasticsearch nodes, integrating other tools to Elasticsearch, and creating different visualizations. You will install Kibana to monitor a cluster and also extend it using a variety of plugins. Finally, you will integrate your Java, Scala, Python, and big data applications such as Apache Spark and Pig with Elasticsearch, and create efficient data applications powered by enhanced functionalities and custom plugins. By the end of this book, you will have gained in-depth knowledge of implementing Elasticsearch architecture, and you'll be able to manage, search, and store data efficiently and effectively using Elasticsearch.
Table of Contents (23 chapters)
Title Page

What this book covers

Chapter 1, Getting Started, covers the basic steps to start using Elasticsearch from the simple installation to the cloud. We will also cover several setup cases.

Chapter 2, Managing Mapping, covers the correct definition of the data fields to improve both indexing and searching quality.

Chapter 3, Basic Operations, teaches the most common actions that are required to ingest data in Elasticsearch and to manage it.

Chapter 4, Exploring Search Capabilities, talks about executing search, sorting, and related APIs calls. The API discussed in this chapter are the essential ones.

Chapter 5, Text and Numeric Queries, talks about the Search DSL part of text and numeric fields – the core of the search functionalities of Elasticsearch.

Chapter 6, Relationship and Geo Queries, talks about queries that work on related documents (child/parent and nested) and geo-located fields.

Chapter 7, Aggregations, covers another capability of Elasticsearch, the possibility to execute analytics on search results to improve both the user experience and to drill down the information contained in Elasticsearch.

Chapter 8, Scripting in Elasticsearch, shows how to customize Elasticsearch with scripting and how to use the scripting capabilities in different parts of Elasticsearch (search, aggregation, and ingest) using different languages. The chapter is mainly focused on Painless, the new scripting language developed by the Elastic team.

Chapter 9, Managing Cluster, shows how to analyze the behavior of a cluster/node to understand common pitfalls.

Chapter 10, Backup and Restore, covers one of the most important components in managing data: backup. It shows how to manage a distributed backup and the restoration of snapshots.

Chapter 11User Interfaces, describes two of the most common user interfaces for Elasticsearch 5.x: Cerebro, mainly used for admin activities, and Kibana, with X-Pack as a common UI extension for Elasticsearch.

Chapter 12, Using the Ingest Module, talks about the ingest functionality for importing data in Elasticsearch via an ingestion pipeline.

Chapter 13, Java Integration, describes how to integrate Elasticsearch in a Java application using both REST and native protocols.

Chapter 14, Scala Integration, describes how to integrate Elasticsearch in Scala using elastic4s: an advanced type-safe and feature rich Scala library based on native Java API.

Chapter 15, Python Integration, covers the usage of the official Elasticsearch Python client.

Chapter 16, Plugin Development, describes how to create native plugins to extend Elasticsearch functionalities. Some examples show the plugin skeletons, the setup process, and the building of them.

Chapter 17, Big Data Integration, covers how to integrate Elasticsearch in common big data tools, such as Apache Spark and Apache Pig.