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!
What is Elasticsearch all about? Why is it so popular, and who uses it?
Overview of the Elastic Stack (including the ELK stack). See how Elasticsearch fits into the bigger picture.
Test your understand of what the purpose of each part of the Elastic Stack is.
Introduction to this section on the Elasticsearch architecture.
Explanation of what a clusters and nodes are.
Test your understanding of clusters and nodes.
Explanation of what indices and documents are.
A brief mention of what types are in Elasticsearch.
Explanation of what sharding is and which purpose it serves.
Test your understanding of sharding.
Explanation of how replication works.
Test your understanding of replication.
Explanation of how replicas are kept synchronized when adding, removing or updating documents.
Explanation of how a search query is handled within an Elasticsearch cluster.
Explanation of how documents are distributed across the nodes of a cluster to prevent congestion.
Brief summary of this section of the course.
Learn how to install Elasticsearch in the traditional way for macOS and Linux.
Elasticsearch can be installed with an MSI installer on Windows apart from with a zip file.
Learn how to install Elasticsearch in the traditional way for Windows.
Overview of the Elasticsearch configuration options that you would most commonly need to change.
Learn how to install Kibana in the traditional way for macOS and Linux.
Learn how to install Kibana in the traditional way for Windows.
Overview of the Kibana configuration options that you would most commonly need to change.
Introduction to the Kibana interface and the Console tool that we will be using throughout the course.
Having a cluster set up, it's time to create an index.
With an index at hand, let's see how to add documents to it.
With documents in the index, let's see how to retrieve one by specifying the document ID.
Adding documents is one thing, but replacing them is another. That's what this lecture is about.
Learn how to update documents that have already been added to the Elasticsearch cluster.
Learn how to update documents more dynamically with 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.
Learn how to delete an existing index.
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.
An index without data is no fun. Let's import some test data, being 1000 documents.
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.
Introduction to what mapping in Elasticsearch is all about.
Mapping can be added explicitly, but dynamic mapping may also be used. Learn what it is in this lecture.
Documents contain meta fields. Get an overview of meta fields in this lecture.
Get an overview of the most important field data types in this lecture.
Let's add a mapping to an existing index.
How can we change mappings that have already been added? See how in this lecture.
See how to configure mappings with parameters.
See how to add additional mappings to fields.
Date formats can be customized and configured. See how in this lecture.
Learn how to handle when documents were added before adding a mapping (with dynamic mapping disabled).
Brief recap on what we covered in this section on mapping.
Introduction to what happens when indexing documents in terms of full-text analysis.
Walkthrough of the various parts of an analyzer.
Let's experiment with a couple of tokenizers, token filters, and analyzers by using the Analyze API.
Understand how field values are stored within something called an inverted index.
Overview of the available character filters.
Overview of the available tokenizers.
Overview of the available token filters.
Overview of the available analyzers.
Learn how to configure analyzers and token filters.
Learn how to create a custom analyzer.
See how to specify analyzers within field mappings.
See how to deal with adding analyzers to indices that have already been created.
You might not want to use stop words anymore. Find out why in this lecture.
Wrap up of this section on the analysis process, and more specifically analyzers.
Quick rundown of the two methods of searching data in Elasticsearch; request URI searches (query string), and the Query DSL.
A few examples of searching for data with query string searches (request URI).
An introduction to searching with the Query DSL.
Taking a closer look at search query results.
An explanation of how relevance scores are calculated.
See how to use the Explain API to debug why a given did or didn't match a given document.
Understand the two contexts in which search queries can be executed in Elasticsearch and what the differences are.
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.
Test your understanding of the basics of searching for data in Elasticsearch.
Introduction to the concept of term level queries and when to use them.
Let's start out simple by searching for a term with the "term" query.
In this lecture, we search for multiple terms with the "terms" query.
This lecture shows how to retrieve multiple documents at once by IDs.
This lecture covers matching documents with range values.
This lecture shows how to use date math and relative dates when searching date fields.
See how to match documents that contain non-null values. In this lecture, we search for documents containing at least one tag.
See how to match documents where a given field's value begins with a specified prefix.
Searching with wildcards, being a question mark or an asterisk.
See how to supply a regular expression that is then used for matching field values.
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.
Learn the fundamentals of the "match" query, which is probably the most essential query to understand in Elasticsearch.
This lecture covers how to search for phrases in Elasticsearch.
In this lecture, you will learn how to search multiple fields with the same query.
Introduction to what compound queries are about.
See how to write boolean queries with the "bool" query and understand how relevance scores are affected.
See how named queries can be used to debug and possibly understand the relevance of matching documents.
You already saw how to use the "match" query, but let's dive a little deeper and talk about how it works internally.
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.