Course Overview
This training is aimed for software developers who wish to build search and analytics solutions using Elasticsearch.
This training starts with discussion of the Elasticsearch architecture, including its distributed model and search API followed by an explanation of Elasticsearch’s functionality and how to best integrate it into an existing application.
Requirements
- Participants must know the basics of Elasticsearch
Curriculum
-
Introduction to Elasticsearch
-
The Search API
-
Text Analysis
- What is Analysis?
- Building an Inverted Index
- Analyzers
- Custom Analyzers
- Character Filters
- Tokenizers
- Token Filters
- Defining Analyzers
- Synonyms
- How to Choose an Analyzer
- Segments
- Hands-on Lab (45 minutes): Perform the steps for configuring text analysis in Elasticsearch; use the Analyze API to see how the built-in analyzers work; define custom analyzers by configuring character filters, tokenizers and token filter
-
Mappings
-
More Search Features
- The Anatomy of a Search
- Term-based Queries
- Filters
- The match_phrase_prefix Query
- The multi_match_Query
- Fuzziness
- Highlighting
- More Like This
- Hands-on Lab (45 minutes): See how a terms query works in Elasticsearch; write multi_match and more_like_this queries; see how the fuzziness parameter works and how to highlight search terms
-
The Distributed Model
- Starting a Node
- Creating an Index
- Starting a Second Node
- Shards: Distribution of an Index
- Distributing Documents
- Replication
- Split Brain
- Other Node Types
- Development vs. Production Mode
- Hands-on Lab (30 minutes): Startup a multi-node cluster; see how documents indexed into
- Elasticsearch are not immediately available for searching.
-
Working with Search results
-
Aggregations
- What are Aggregations?
- Types of Aggregations
- Buckets and Metrics
- Common Metrics Aggregations
- The range Aggregation
- The date_range Aggregation
- The terms Aggregation
- Nesting Buckets
- Hands-on Lab (45 minutes): Perform various metrics and bucket aggregations on the products index and also on some stock market trade data
-
More Aggregations
-
Handling Relationships
-
Painless Scripting
-
Ingest Pipelines
-
Handling Relationships
-
Geolocation
-
Improving Search Performance