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
English [Auto-generated]
Current price: $10 Original price: $95 Discount: 89% off
30-Day Money-Back Guarantee
Includes:
  • 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
Requirements
  • Knowledge of JSON
Description

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
11:34:50
+
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
01:12

Explanation of what a clusters and nodes are.

Nodes & Clusters
05:14

Test your understanding of clusters and nodes.

Nodes & Clusters
3 questions

Explanation of what indices and documents are.

Indices & Documents
01:40

A brief mention of what types are in Elasticsearch.

A word on types
01:21

Explanation of what sharding is and which purpose it serves.

Sharding
04:52

Test your understanding of sharding.

Sharding
4 questions

Explanation of how replication works.

Replication
03:33

Test your understanding of replication.

Replication
6 questions

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

Keeping replicas synchronized
03:14

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

Searching for data
03:42

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

Distributing documents across nodes
04:03

Brief summary of this section of the course.

Wrap up
01:16
+
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
03:43

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
02:04

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

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

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

Creating an index
01:34

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

Adding documents
03:49

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

Retrieving documents by ID
01:16

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

Replacing documents
01:29

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

Updating documents
03:42

Learn how to update documents more dynamically with scripted updates.

Scripted updates
03:08

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.

Upserts
02:31

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
03:30

Learn how to delete an existing index.

Deleting indices
00:49

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
05:56

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

Importing test data with cURL
02:51

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
06:53
+
Mapping
11 Lectures 52:50

Introduction to what mapping in Elasticsearch is all about.

Introduction to mapping
01:23

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

Dynamic mapping
04:27

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

Meta fields
02:50

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

Field data types
13:48

Let's add a mapping to an existing index.

Adding mappings to existing indices
01:57

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

Changing existing mappings
03:51

See how to configure mappings with parameters.

Mapping parameters
08:00

See how to add additional mappings to fields.

Adding multi-fields mappings
02:40

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

Defining custom date formats
05:44

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

Picking up new fields without dynamic mapping
07:33

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

Wrap up
00:37
+
Analysis & Analyzers
14 Lectures 54:40

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

Introduction to the analysis process
01:53

Walkthrough of the various parts of an analyzer.

A closer look at analyzers
05:21

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

Using the Analyze API
03:30

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

Understanding the inverted index
04:31

Analyzers
9 questions

Overview of the available character filters.

Overview of character filters
02:36

Overview of the available tokenizers.

Overview of tokenizers
08:36

Overview of the available token filters.

Overview of token filters
06:26

Overview of the available analyzers.

Overview of built-in analyzers
05:00

Learn how to configure analyzers and token filters.

Configuring built-in analyzers and token filters
04:43

Learn how to create a custom analyzer.

Creating custom analyzers
03:13

See how to specify analyzers within field mappings.

Using analyzers in mappings
03:20

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

Adding analyzers to existing indices
03:29

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

A word on stop words
01:01

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

Wrap up
01:01
+
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
02:17

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

Searching with the request URI
03:50

An introduction to searching with the Query DSL.

Introducing the Query DSL
02:50

Taking a closer look at search query results.

Understanding query results
01:57

An explanation of how relevance scores are calculated.

Understanding relevance scores
10:30

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

Debugging unexpected search results
01:43

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

Query contexts
02:40

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
05:57

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
01:10

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

Searching for a term
02:28

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

Searching for multiple terms
01:48

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

Retrieving documents based on IDs
01:07

This lecture covers matching documents with range values.

Matching documents with range values
03:46

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

Working with relative dates (date math)
07:37

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
02:00

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

Matching based on prefixes
01:19

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

Searching with wildcards
02:34

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

Searching with regular expressions
03:03

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
02:23

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

Flexible matching with match query
04:45

This lecture covers how to search for phrases in Elasticsearch.

Matching phrases
01:38

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

Searching multiple fields
02:38

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
01:09

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

Querying with boolean logic
10:37

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

Debugging bool queries with named queries
03:16

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
06:27
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.