Complete Guide to Elasticsearch
4.4 (853 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
4,104 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Complete Guide to Elasticsearch to your Wishlist.

Add to Wishlist

Complete Guide to Elasticsearch

Learn Elasticsearch from scratch and lay the foundation for learning the ELK stack (Elasticsearch, Logstash & Kibana).
Best Seller
4.4 (853 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
4,104 students enrolled
Created by Bo Andersen
Last updated 9/2017
English [Auto-generated]
Current price: $10 Original price: $95 Discount: 89% off
30-Day Money-Back Guarantee
  • 11.5 hours on-demand video
  • 5 Articles
  • 11 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion

Training 5 or more people?

Get your team access to Udemy's top 2,000 courses anytime, anywhere.

Try Udemy for Business
What Will I Learn?
  • How to build a powerful search engine with Elasticsearch
  • The theory of Elasticsearch and how it works under-the-hood
  • Write complex search queries
  • Be proficient with the concepts and terminology of Elasticsearch
View Curriculum
  • Knowledge of JSON

Do you want to learn the popular search engine, Elasticsearch, from the beginning and become a professional in no time? This course is an excellent way for you to quickly learn Elasticsearch and to put your knowledge to work in just a few hours! If so, then you have come to the right place, as this is the most comprehensive course on Elasticsearch that you will find online!

Elasticsearch is an extremely popular search engine and will be an excellent addition to your CV - even if you are already familiar with other search engines or frameworks such as Apache Lucene, Apache Solr, Amazon CloudSearch, etc.

Please note that this course is intended for developers who want to interact with an Elasticsearch cluster in one way or another and not system administrators looking to maintain an Elasticsearch cluster in production. The course focuses on functionality relevant to utilize the capabilities of Elasticsearch as a developer.

The course is a combination of theory and learning by doing. Before giving examples of how to perform certain queries, you will have been equipped with the necessary theory in advance. This ensures that you not only know how to perform powerful searches with Elasticsearch, but that you also understand the relevant theory; you will get a deep understanding of how Elasticsearch works under the hood.

The course starts from the absolute beginning, and no knowledge or prior experience with Elasticsearch is required. We will walk through all of the most important aspects of Elasticsearch, and at the end of this course, you will be able to build powerful search engines. This could be for a website where you could build Google-like search functionality, for example.

So, join me in this course and learn to build powerful search engines with Elasticsearch today!

Who is the target audience?
  • Developers who want to learn Elasticsearch. The course is intended for developers and not system administrators.
Curriculum For This Course
161 Lectures
Getting Started
3 Lectures 17:19

Introduction to the course and what you will learn.

Preview 05:41

What is Elasticsearch all about? Why is it so popular, and who uses it?

Preview 05:33

Overview of the Elastic Stack (including the ELK stack). See how Elasticsearch fits into the bigger picture.

Preview 06:05

Test your understand of what the purpose of each part of the Elastic Stack is.

Elastic Stack
4 questions
Architecture of Elasticsearch
10 Lectures 30:07

Introduction to this section on the Elasticsearch architecture.

Introduction to this section

Explanation of what a clusters and nodes are.

Nodes & Clusters

Test your understanding of clusters and nodes.

Nodes & Clusters
3 questions

Explanation of what indices and documents are.

Indices & Documents

A brief mention of what types are in Elasticsearch.

A word on types

Explanation of what sharding is and which purpose it serves.


Test your understanding of sharding.

4 questions

Explanation of how replication works.


Test your understanding of replication.

6 questions

Explanation of how replicas are kept synchronized when adding, removing or updating documents.

Keeping replicas synchronized

Explanation of how a search query is handled within an Elasticsearch cluster.

Searching for data

Explanation of how documents are distributed across the nodes of a cluster to prevent congestion.

Distributing documents across nodes

Brief summary of this section of the course.

Wrap up
Installing Elasticsearch & Kibana
8 Lectures 29:18

Learn how to install Elasticsearch in the traditional way for macOS and Linux.

Preview 05:20

Elasticsearch can be installed with an MSI installer on Windows apart from with a zip file.

Preview 00:25

Learn how to install Elasticsearch in the traditional way for Windows.

Preview 05:36

Overview of the Elasticsearch configuration options that you would most commonly need to change.

Configuring Elasticsearch

Learn how to install Kibana in the traditional way for macOS and Linux.

Preview 02:52

Learn how to install Kibana in the traditional way for Windows.

Preview 02:42

Overview of the Kibana configuration options that you would most commonly need to change.

Configuring Kibana

Introduction to the Kibana interface and the Console tool that we will be using throughout the course.

Introduction to Kibana and dev tools
Managing Documents
12 Lectures 37:28

Having a cluster set up, it's time to create an index.

Creating an index

With an index at hand, let's see how to add documents to it.

Adding documents

With documents in the index, let's see how to retrieve one by specifying the document ID.

Retrieving documents by ID

Adding documents is one thing, but replacing them is another. That's what this lecture is about.

Replacing documents

Learn how to update documents that have already been added to the Elasticsearch cluster.

Updating documents

Learn how to update documents more dynamically with scripted updates.

Scripted updates

Learn how to perform a so-called upsert, which means to insert a document if it doesn't already exist, and update the existing one otherwise.


Learn how to delete documents that have been added to an index. Both the simplest possible way, but also by deleting documents matching certain criteria.

Deleting documents

Learn how to delete an existing index.

Deleting indices

You already know how to add, update, and remove documents. This can also be done for many documents at once through batch processing, which you will see in this lecture.

Batch processing

An index without data is no fun. Let's import some test data, being 1000 documents.

Importing test data with cURL

The cluster is up and running, and documents have been added to an index. But what does the cluster look like? Let's take a look.

Exploring the cluster
11 Lectures 52:50

Introduction to what mapping in Elasticsearch is all about.

Introduction to mapping

Mapping can be added explicitly, but dynamic mapping may also be used. Learn what it is in this lecture.

Dynamic mapping

Documents contain meta fields. Get an overview of meta fields in this lecture.

Meta fields

Get an overview of the most important field data types in this lecture.

Field data types

Let's add a mapping to an existing index.

Adding mappings to existing indices

How can we change mappings that have already been added? See how in this lecture.

Changing existing mappings

See how to configure mappings with parameters.

Mapping parameters

See how to add additional mappings to fields.

Adding multi-fields mappings

Date formats can be customized and configured. See how in this lecture.

Defining custom date formats

Learn how to handle when documents were added before adding a mapping (with dynamic mapping disabled).

Picking up new fields without dynamic mapping

Brief recap on what we covered in this section on mapping.

Wrap up
Analysis & Analyzers
14 Lectures 54:40

Introduction to what happens when indexing documents in terms of full-text analysis.

Introduction to the analysis process

Walkthrough of the various parts of an analyzer.

A closer look at analyzers

Let's experiment with a couple of tokenizers, token filters, and analyzers by using the Analyze API.

Using the Analyze API

Understand how field values are stored within something called an inverted index.

Understanding the inverted index

9 questions

Overview of the available character filters.

Overview of character filters

Overview of the available tokenizers.

Overview of tokenizers

Overview of the available token filters.

Overview of token filters

Overview of the available analyzers.

Overview of built-in analyzers

Learn how to configure analyzers and token filters.

Configuring built-in analyzers and token filters

Learn how to create a custom analyzer.

Creating custom analyzers

See how to specify analyzers within field mappings.

Using analyzers in mappings

See how to deal with adding analyzers to indices that have already been created.

Adding analyzers to existing indices

You might not want to use stop words anymore. Find out why in this lecture.

A word on stop words

Wrap up of this section on the analysis process, and more specifically analyzers.

Wrap up
Introduction to Searching
8 Lectures 31:44

Quick rundown of the two methods of searching data in Elasticsearch; request URI searches (query string), and the Query DSL.

Search methods

A few examples of searching for data with query string searches (request URI).

Searching with the request URI

An introduction to searching with the Query DSL.

Introducing the Query DSL

Taking a closer look at search query results.

Understanding query results

An explanation of how relevance scores are calculated.

Understanding relevance scores

See how to use the Explain API to debug why a given did or didn't match a given document.

Debugging unexpected search results

Understand the two contexts in which search queries can be executed in Elasticsearch and what the differences are.

Query contexts

Before diving into the various categories of search queries, let's take a look at the difference between full-text queries and term level queries.

Full text queries vs term level queries

Test your understanding of the basics of searching for data in Elasticsearch.

Basics of searching
4 questions
Term Level Queries
10 Lectures 26:52

Introduction to the concept of term level queries and when to use them.

Introduction to term level queries

Let's start out simple by searching for a term with the "term" query.

Searching for a term

In this lecture, we search for multiple terms with the "terms" query.

Searching for multiple terms

This lecture shows how to retrieve multiple documents at once by IDs.

Retrieving documents based on IDs

This lecture covers matching documents with range values.

Matching documents with range values

This lecture shows how to use date math and relative dates when searching date fields.

Working with relative dates (date math)

See how to match documents that contain non-null values. In this lecture, we search for documents containing at least one tag.

Matching documents with non-null values

See how to match documents where a given field's value begins with a specified prefix.

Matching based on prefixes

Searching with wildcards, being a question mark or an asterisk.

Searching with wildcards

See how to supply a regular expression that is then used for matching field values.

Searching with regular expressions

Let's put what you just learned about term level queries to use by writing a couple of example queries.
Term Level Queries
6 questions
Full Text Queries
4 Lectures 11:24

Introduction to what full text queries are all about, and an introduction to the new test data that we will be working with throughout this section of the course.

Introduction to full text queries

Learn the fundamentals of the "match" query, which is probably the most essential query to understand in Elasticsearch.

Flexible matching with match query

This lecture covers how to search for phrases in Elasticsearch.

Matching phrases

In this lecture, you will learn how to search multiple fields with the same query.

Searching multiple fields

Let's put what you just learned about full text queries to use by writing a couple of example queries.
Full Text Queries
3 questions
Adding Boolean Logic to Queries
4 Lectures 21:29

Introduction to what compound queries are about.

Introduction to compound queries

See how to write boolean queries with the "bool" query and understand how relevance scores are affected.

Querying with boolean logic

See how named queries can be used to debug and possibly understand the relevance of matching documents.

Debugging bool queries with named queries

You already saw how to use the "match" query, but let's dive a little deeper and talk about how it works internally.

How the “match” query works
7 More Sections
About the Instructor
Bo Andersen
4.4 Average rating
1,184 Reviews
5,982 Students
3 Courses
Lead Developer

My name is Bo Andersen and I am a software developer from Denmark.

I am a software developer who has previously worked at a successful company, which operates one of the largest websites in Denmark, before deciding to teach full time. I have worked with programming for a decade and have a bachelor's degree in computer science. I started out learning to code by building websites in PHP, but have since worked with many other technologies such as Java, Elasticsearch (ELK), Python, Docker, AWS, etc.

I have also been blogging about programming subjects for a few years, so I encourage you to have a look at my website if you are curious.