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 11, User 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.