Advanced Elasticsearch 7.0
A practical guide to designing, indexing, and querying advanced distributed search engines
Wai Tak Wong
- 560 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Advanced Elasticsearch 7.0
A practical guide to designing, indexing, and querying advanced distributed search engines
Wai Tak Wong
About This Book
Master the intricacies of Elasticsearch 7.0 and use it to create flexible and scalable search solutions
Key Features
- Master the latest distributed search and analytics capabilities of Elasticsearch 7.0
- Perform searching, indexing, and aggregation of your data at scale
- Discover tips and techniques for speeding up your search query performance
Book Description
Building enterprise-grade distributed applications and executing systematic search operations call for a strong understanding of Elasticsearch and expertise in using its core APIs and latest features. This book will help you master the advanced functionalities of Elasticsearch and understand how you can develop a sophisticated, real-time search engine confidently. In addition to this, you'll also learn to run machine learning jobs in Elasticsearch to speed up routine tasks.
You'll get started by learning to use Elasticsearch features on Hadoop and Spark and make search results faster, thereby improving the speed of query results and enhancing the customer experience. You'll then get up to speed with performing analytics by building a metrics pipeline, defining queries, and using Kibana for intuitive visualizations that help provide decision-makers with better insights. The book will later guide you through using Logstash with examples to collect, parse, and enrich logs before indexing them in Elasticsearch.
By the end of this book, you will have comprehensive knowledge of advanced topics such as Apache Spark support, machine learning using Elasticsearch and scikit-learn, and real-time analytics, along with the expertise you need to increase business productivity, perform analytics, and get the very best out of Elasticsearch.
What you will learn
- Pre-process documents before indexing in ingest pipelines
- Learn how to model your data in the real world
- Get to grips with using Elasticsearch for exploratory data analysis
- Understand how to build analytics and RESTful services
- Use Kibana, Logstash, and Beats for dashboard applications
- Get up to speed with Spark and Elasticsearch for real-time analytics
- Explore the basics of Spring Data Elasticsearch, and understand how to index, search, and query in a Spring application
Who this book is for
This book is for Elasticsearch developers and data engineers who want to take their basic knowledge of Elasticsearch to the next level and use it to build enterprise-grade distributed search applications. Prior experience of working with Elasticsearch will be useful to get the most out of this book.
Frequently asked questions
Information
Section 1: Fundamentals and Core APIs
- Chapter 1, Overview of Elasticsearch 7
- Chapter 2, Index APIs
- Chapter 3, Document APIs
- Chapter 4, Mapping APIs
- Chapter 5, Anatomy of an Analyzer
- Chapter 6, Search APIs
Overview of Elasticsearch 7
New featuresfollowing this one is a list of new features you can explore in the new release. Because major changes are often introduced between major versions, you must check to see whether it breaks the compatibility and affects your application. Go through the Migration between versions section to find out how to minimize the impact on your upgrade project.
- Preparing your environment
- Running Elasticsearch
- Talking to Elasticsearch
- Elasticsearch architectural overview
- Key concepts
- API conventions
- New features
- Breaking changes
- Migration between versions
Preparing your environment
java -version
java version "1.8.0_181"
java(TM) SE Runtime Environment(build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
- Select the correct package for your operating system (WINDOWS, MACOS, LINUX, DEB, RPM, or MSI (BETA)) and download the 7.0.0 release. For Linux, the filename is elasticsearch-7.0.0-linux-x86_64.tar.gz.
- Extract the GNU zipped file into the target directory, which will generate a folder called elasticsearch-7.0.0 using the following command:
tar -zxvf elasticsearch-7.0.0-linux-86_64.tar.gz
- Go to the folder and run Elasticsearch with the -p parameter to create a pid file at the specified path:
cd elasticsearch-7.0.0
./bin/elasticsearch -p pid
kill -15 `cat pid`
tail logs/elasticsearch.log
./bin/elasticsearch -d -p pid
Running Elasticsearch
Basic Elasticsearch configuration
ls config
elasticsearch.keystore elasticsearch.yml jvm.options log4j2.properties role_mapping.yml roles.yml users users_roles
- elasticsearch.yml: The main configuration file. This configuration file contains settings for the clusters, nodes, and paths. If you specify an item, comment out the line. We'll explain the terminology in the Elasticsearch architectur...