4.56 sur 5
4.56

Guide complet d’Elasticsearch

Apprenez Elasticsearch à partir de zéro et commencez à apprendre la pile ELK (Elasticsearch, Logstash & Kibana) et Elastic Stack.
Comment construire un puissant moteur de recherche avec Elasticsearch
La théorie d'Elasticsearch et son fonctionnement sous le capot
Ecrire des requêtes de recherche complexes
Maîtriser les concepts et la terminologie d'Elasticsearch

Voulez-vous apprendre Elasticsearch dès le début et devenir un professionnel en un rien de temps ? Ce cours est un excellent moyen pour vous d’apprendre rapidement Elasticsearch et de mettre vos connaissances pour travailler en quelques heures seulement! Ce cours en ligne est le didacticiel Elasticsearch le plus complet que vous puissiez trouver ! C’est un excellent point de départ pour tous ceux qui souhaitent apprendre la pile Elastic et la pile ELK, car Elasticsearch est au centre des deux piles.

Elasticsearch est un moteur de recherche extrêmement populaire et sera un excellent ajout à votre CV – même si vous êtes déjà familiarisé avec d’autres moteurs de recherche ou frameworks tels qu’Apache Lucene, Apache Solr, Algolia, etc.

Ce cours Elasticsearch est une combinaison de théorie et d’apprentissage par la pratique . Avant de donner des exemples sur la façon d’effectuer certaines requêtes, vous aurez été équipé à l’avance de la théorie nécessaire. Cela garantit que vous savez non seulement comment écrire des requêtes Elasticsearch puissantes, mais que vous comprenez également la théorie pertinente. Tout au long de ce didacticiel, vous comprendrez en profondeur le fonctionnement d’Elasticsearch sous le capot.

Le cours commence par le début absolu, et aucune connaissance ou expérience préalable avec Elasticsearch n’est requise. Nous passerons en revue tous les aspects les plus importants d’Elasticsearch. Après avoir terminé ce cours, vous serez en mesure d’utiliser Elasticsearch pour un certain nombre de cas d’utilisation et d’objectifs, tels que :

  • Construire un moteur de recherche en texte intégral (par exemple similaire à Google  Search)
  • Analyse de données pour de grandes quantités de données avec agrégations
  • Utilisation d’Elasticsearch comme base de données de séries chronologiques (TSDB)
  • … et bien plus encore !

Combiné avec d’autres produits de la Suite Elastic, comme Logstash ou Kibana, vous débloquerez plusieurs autres fonctionnalités, telles que :

  • Gestion et analyse des journaux
  • Observabilité (y compris la surveillance des serveurs/services et APM (Application Performance Monitoring))
  • Visualisation des données et rapports
  • Analyse de la sécurité (SIEM)
  • … et bien plus encore !

* Ces fonctionnalités ne sont pas spécifiquement abordées dans ce cours. Certains d’entre eux sont couverts dans mes cours Logstash et Kibana.

Alors, rejoignez-moi dans ce cours en ligne et apprenez à créer des choses incroyables avec Elasticsearch !

 

 

Veuillez noter que ce cours est destiné aux développeurs qui souhaitent interagir avec un cluster Elasticsearch d’une manière ou d’une autre et pas les administrateurs système cherchant à maintenir un cluster Elasticsearch en production. Le cours se concentre sur les fonctionnalités pertinentes pour utiliser les capacités d’Elasticsearch en tant que développeur.

Notez que ce cours ne couvre pas Logstash et Kibana. C’est pour que je puisse entrer beaucoup plus dans les détails avec Elasticsearch et me concentrer exclusivement sur cela. Ce cours est donc dédié à Elasticsearch. Pour les cours sur Logstash et Kibana, veuillez consulter mes autres cours.

Introduction

1
Introduction to the course

Introduction to the course and to what you will learn.

2
Introduction to Elasticsearch

What is Elasticsearch all about? How does it work, why is it so popular, and who uses it? There are many questions to be asked, and many answers to be given. Get the answers in this lecture.

3
Overview of the Elastic Stack

This lecture walks through the components of the Elastic Stack, giving you an overview of how these fit together with Elasticsearch.

4
Understanding of the Elastic Stack

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

5
Walkthrough of common architectures

In this lecture, we take a look at some common use cases for the Elastic Stack, and how a simple architecture might evolve over time to incorporate more components of the Elastic Stack.

6
Guidelines for the course Q&A

What the Q&A is for, and what it isn't for.

Getting Started

1
Overview of installation options

When it comes to installing Elasticsearch and Kibana, you have a number of options. Check out this quick overview to help decide which approach is best for you.

2
Running Elasticsearch & Kibana in Elastic Cloud

Running Elasticsearch and Kibana in Elastic Cloud is the easiest way to get up and running quickly.

3
Setting up Elasticsearch & Kibana on macOS & Linux

Learn how to install both Elasticsearch and Kibana on macOS and Linux.

4
Setting up Elasticsearch & Kibana on Windows

Learn how to install both Elasticsearch and Kibana on macOS and Linux.

5
Understanding the basic architecture

Understand the basic architecture of Elasticsearch, including what nodes, indices, and documents are.

6
Inspecting the cluster

Let's take a moment to see what the cluster that we started up looks like internally.

7
Sending queries with cURL

Using Kibana's Console tool is not the only way you can send requests to Elasticsearch's REST API. Learn how to do the same with the cURL HTTP client in this lecture.

8
Sharding and scalability

Learn what sharding is, and how it helps scale an Elasticsearch cluster, both in terms of data volume and query throughput.

9
Sharding

Let's be sure that you understand the most important concepts of sharding.

10
Understanding replication

Learn what replication is, and how it helps ensure high availability as well as increased query throughput.

11
Replication

Let's be sure that you understand the most important concepts of replication.

12
Adding more nodes to the cluster

Learn how to add more nodes to our single-node Elasticsearch cluster, forming a cluster consisting of three nodes.

13
Overview of node roles

Elasticsearch nodes have roles, which can be configured for each node. Get an overview of which roles are available, and when you should use them.

14
Wrap up

Let's take a quick moment to wrap up this section of the course.

Managing Documents

1
Creating & deleting indices

Before adding some data into our cluster, let's see how to both create and delete indices. When creating an index, we will supply two settings for specifying the number of shards and replica shards for the index.

2
Indexing documents

In this lecture, you will learn how to index documents in two ways; by having Elasticsearch generate an ID for documents automatically, and by specifying an ID ourselves.

3
Retrieving documents by ID

Learn how to retrieve a document based on its ID.

4
Updating documents

Learn how to update an existing field's value, and how to add a new field to a document.

5
Scripted updates

Learn how to update documents with scripts. Scripts enable us to update documents dynamically, such as by performing calculations on field values. You will also see how to include parameters within scripts. Lastly, you will learn how to ignore a given document during an update, how to conditionally update a document, and how to delete a document within a script.

6
Upserts

In this lecture, we will cover so-called upserts. An upsert is a way to index a document or update an existing one, depending on whether or not a given document already exists.

7
Replacing documents

Apart from updating documents, we can also replace them altogether. You will learn how to do just that in this lecture.

8
Deleting documents

The last document action you need to learn, is to delete documents. Fortunately, this is extremely easy due to Elasticsearch's REST API.

9
Understanding routing

How did Elasticsearch find the documents that we have indexed in the previous lectures? And how did it know where to store the documents that we indexed? That's what we will be looking at in this lecture.

10
How Elasticsearch reads data

Now that you know what routing is, let's take a closer look at how Elasticsearch reads data. This involves a coordinating node and Adaptive Replica Selection (ARS).

11
How Elasticsearch writes data

Now that you know how Elasticsearch reads data, let's talk about how it writes data. That's a more complicated subject involving something called primary terms, sequence numbers, as well as global and local checkpoints. We will also cover the basics of how data is replicated to replica shards.

12
Understanding document versioning

Elasticsearch uses a primitive kind of document versioning. Let's take a look at what that is all about.

13
Optimistic concurrency control

Documents might be overwritten inadvertently due to a web server running multiple threads in parallel, for instance. How do we deal with this problem? We first look at how we used to handle this, before diving into how primary terms and sequence numbers can be used to overcome this challenge.

14
Update by query

Let's see how we can update multiple documents with a single query, similar to an UPDATE WHERE query for relational databases. We will also go through the inner workings of the query, including how it handles errors and performs optimistic concurrency control.

15
Delete by query

Now that you know how to update multiple documents with one query, let's do the same thing, just in regards to deleting documents.

16
Batch processing

Learn how to process multiple (potentially thousands or millions) actions within one query. This can be used to index, update, or delete many documents at the same time.

17
Importing data with cURL

It's time to import some test data. Learn how to import data by using the Bulk API together with cURL on the command line.

18
Wrap up

Let's take a quick moment to wrap up this section of the course.

Mapping & Analysis

1
Introduction to this section

Quick introduction to what is covered in this section of the course.

2
Introduction to analysis

Introduction to the concept of text analysis.

3
Using the Analyze API

Learn how to use the Analyze API to test built-in and custom analyzers. It can also be used to test character filters, tokenizers, and token filters.

4
Understanding inverted indices

Learn how text values are analyzed and stored within a data structure called an inverted index.

5
Introduction to mapping

Introduction to the concept of mapping.

6
Overview of data types

An overview of the most important data types in Elasticsearch, with a focus on the "object," "nested," and "keyword" data types.

7
How the "keyword" data type works

Let's take a closer look at how the "keyword" data type works and learn why it is used for exact matches, aggregations, and sorting.

8
Understanding type coercion

Learn what type coercion is all about and how Elasticsearch can sometimes convert from one data type to another.

9
Understanding arrays

How can we index array values into Elasticsearch? How do arrays work, and what are their limitations? Learn the answers to those questions in this lecture.

10
Adding explicit mappings

Time to add our first mapping to an index.

11
Retrieving mappings

Learn how to retrieve mappings for an index, and also specific field mappings.

12
Using dot notation in field names

Mapping queries can be simplified when using a dot notation syntax for nested fields. Learn how to do that in this lecture.

13
Adding mappings to existing indices

Sometimes you might want to add field mappings to an existing index. Learn how to do that in this lecture.

14
How dates work in Elasticsearch

Let's take a look at how Elasticsearch handles dates. In particular, which date formats are supported, how timezones work, how Elasticsearch stores dates internally, and how dates are searched by search queries.

15
How missing fields are handled

What happens if we leave out a field when indexing a document? And does adding a field mapping make a field required? Those are some of the questions that we will answer in this lecture.

16
Overview of mapping parameters

In this lecture, we take a look at the most important mapping parameters, including "doc_values," "norms," "index," and more.

17
Updating existing mappings

In this lecture you will learn how to update existing field mappings. There are quite a few limitations to updating mappings in Elasticsearch, so we will cover those as well.

18
Reindexing documents with the Reindex API

Let's see how we can reindex documents into a new index. We will take a look at how the Reindex API works and cover a number of common use cases with examples.

19
Defining field aliases

Instead of renaming fields, we can make use of field aliases. You will see how to add and use field aliases in this lecture.

20
Multi-field mappings

An Elasticsearch field can actually be mapped in multiple ways. This is very useful for querying field values in different ways.

21
Index templates

Index templates can be used to specify field mappings and index settings. These can then automatically be applied to new indices based on index patterns. We will take a look at common usages of index templates, among others.

22
Introduction to the Elastic Common Schema (ECS)

In this lecture, we will look at how the Elastic Common Schema (ECS) defines a large number of common fields and their data types. We will also take a look at why ECS was created, and when it is useful.

23
Introduction to dynamic mapping

Time to get into dynamic mapping now. We will take a look at the rules that Elasticsearch uses when dynamically mapping fields, along with a couple of examples.

24
Combining explicit and dynamic mapping

Now that you know of both explicit and dynamic mapping, what about combining them? As you will see, you don't necessarily have to choose either explicit or dynamic mapping.

25
Configuring dynamic mapping

Let's take a look at how we can configure dynamic mapping. You will see how to disable it, how to set it to "strict," and how inheritance is supported. Apart from that, we will also look at numeric detection and date detection.

26
Dynamic templates

Dynamic mapping can be configured with dynamic templates. These templates define certain conditions, and when they are matched, the specified mapping will be applied.

27
Mapping recommendations

Before moving on to analysis and analyzers, I have a few recommendations in regards to mapping.

28
Stemming & stop words

Stemming and stop words are two common things to handle during text analysis. We will look at how words can be stemmed to their root form as a way to improve search results. We will also cover the concept of removing stop words.

29
Analyzers and search queries

If terms are changed during the analysis process (e.g. stemmed or stop words being removed), how do searches work? Find the answer in this lecture.

30
Built-in analyzers

Let's go through the most important built-in analyzers and also cover how to configure and use them.

31
Creating custom analyzers

In this lecture, we are going to build a custom analyzer. As part of that, I will show you how to configure a built-in token filter as well.

32
Adding analyzers to existing indices

Apart from specifying analyzers when creating a new index, sometimes we might need to add an analyzer to an existing index. Let's see how to do that in this lecture. In the process, we will look at opening and closing indices, as well as static and dynamic index settings.

33
Updating analyzers

Let's take a look at how to update analyzers. While doing so is easy, there is a very important thing to be aware of; failing to handle the situation correctly, can potentially lead to big problems.

34
Wrap up

A quick wrap up of this section.

Introduction to Searching

1
A word on document types

A quick recommendation in regards to types.

2
Search methods

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

3
Searching with the request URI

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

4
Introducing the Query DSL

An introduction to searching with the Query DSL.

5
How searching works

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

6
Understanding query results

Taking a closer look at search query results.

7
Understanding relevance scores

An explanation of how relevance scores are calculated.

8
Debugging unexpected search results

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

9
Query contexts

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

10
Full text queries vs term level queries

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.

11
Basics of searching

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

Term Level Queries

1
Introduction to term level queries

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

2
Searching for a term

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

3
Searching for multiple terms

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

4
Retrieving documents based on IDs

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

5
Matching documents with range values

This lecture covers matching documents with range values.

6
Working with relative dates (date math)

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

7
Matching documents with non-null values

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

8
Matching based on prefixes

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

9
Searching with wildcards

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

10
Searching with regular expressions

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

11
Term Level Queries

Full Text Queries

1
Introduction to full text queries

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.

2
Flexible matching with the match query

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

3
Matching phrases

This lecture covers how to search for phrases in Elasticsearch.

4
Searching multiple fields

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

5
Full Text Queries

Adding Boolean Logic to Queries

1
Introduction to compound queries

Introduction to what compound queries are about.

2
Querying with boolean logic

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

3
Debugging bool queries with named queries

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

4
How the “match” query works

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

Joining Queries

1
Introduction to this section

Introduction to this section on joining queries.

2
Querying nested objects

See how to query nested objects with the nested type. Also learn how this works internally and why this cannot be done without the "nested" query type.

3
Nested inner hits

See how to figure out which nested objects caused a document to match a given query.

4
Mapping document relationships

Learn how to map document relationships with the "join" field data type.

5
Adding documents

Learn how to add documents for indices with "join relationships."

6
Querying by parent ID

Learn how to rRetrieve documents based on their parent's ID.

7
Querying child documents by parent

See how to search for documents whose parent match certain criteria.

8
Querying parent by child documents

See how to search for documents whose child documents match certain criteria.

9
Multi-level relations

Learn how to add and use multi-level relationships, also referred to as nested relations.

10
Parent/child inner hits

See how to include inner hits with queries using a "join" field.

11
Terms lookup mechanism

See how to use the so-called terms lookup mechanism. Essentially a more efficient way of using the "terms" query when dealing with lots of terms.

12
Join limitations

Joining queries are great in some scenarios, but not so great in others. This lecture discusses the pros and cons of using join queries and gives you recommendations about when to use them and when to stay away from them.

13
Join field performance considerations

Joining queries are often not very fast. This lecture discusses the performance of joining queries and teaches you when performance is going to be an issue, enabling you to determine whether or not the "join" field is the right tool for your particular use case.

Controlling Query Results

1
Specifying the result format

See how to choose between JSON and YAML as the result formats, and also how to format JSON for human eyes.

2
Source filtering

Learn how to specify which fields Elasticsearch should return for each match.

3
Specifying the result size

See how to specify how many search results Elasticsearch should return for a request.

4
Specifying an offset

See how to specify a match offset for a request.

5
Pagination

See how the result size and offset can be combined to implement pagination within an application.

6
Sorting results

This lecture shows how to sort results in ascending and descending order.

7
Sorting by multi-value fields

This lecture shows how to sort by multi-value fields, such as average ratings, for example.

8
Filters

See how to apply filters to queries.

Aggregations

1
Introduction to aggregations

So what are aggregations all about? Get a quick introduction in this lecture.

2
Metric aggregations

Metric aggregations is the simplest type of aggregations. They are simple to understand, but still very powerful. Metric aggregations can be compared to SQL aggregations.

3
Introduction to bucket aggregations

Having covered metric aggregations, let's take a look at another group of aggregations; bucket aggregations.

4
Document counts are approximate

There is a gotcha in regards to document counts. The document counts are approximate. Get the full explanation in this lecture.

5
Nested aggregations

Aggregations can be nested. You will see how in this lecture.

6
Filtering out documents

Aggregations work on the documents that are available within the aggregation context. Sometimes you might want to filter out documents, which you will see in this lecture.

7
Defining bucket rules with filters

Define rules for which buckets documents are placed into with filters.

8
Range aggregations

Range aggregations are... well, about ranges. Aggregate documents and get statistics for ranges of values.

9
Histograms

Histograms are an excellent way of understand the distribution of documents, such as total sales per month.

10
Global aggregation

Aggregations work on documents based on the aggregation context. Sometimes you might want to break out of that context, which you can go with the "global" aggregation.

11
Missing field values

Documents containing NULL values or missing fields, can be aggregated with the "missing" aggregation.

12
Aggregating nested objects

Similar to the "nested" query, nested objects must be handled a little differently in the context of aggregations.

Improving Search Results

1
Introduction to this section

In this section, we will be looking at various ways of improving search results.

2
Proximity searches

In this lecture, we will be looking at so-called proximity searches.

3
Affecting relevance scoring with proximity

See how to affect relevance scores based on term proximity.

4
Fuzzy match query (handling typos)

Learn how to handle typos in user input with fuzzy match queries.

5
Fuzzy query

Related to fuzzy match queries, is the "fuzzy" query, although it is different.

6
Adding synonyms

See how to add synonyms and how they are handled in searches.

7
Adding synonyms from file

An alternative way of adding synonyms, is to load them from a file, which you will see in this lecture.

8
Highlighting matches in fields

See how to highlight matching parts of documents within search results.

9
Stemming

See how to apply stemming to words and how this is handled in searches.

Conclusion

1
Bonus Lecture: Discounts to my other courses

As a thank you for enrolling in this course, here are some coupon codes for my other courses.

Vous pouvez afficher et ru00e9viser les supports de cours indu00e9finiment, comme une chau00eene u00e0 la demande.
Absolumentu00a0! Si vous disposez d'une connexion Internet, les cours sur WeCours sont disponibles u00e0 tout moment sur n'importe quel appareil. Si vous n'avez pas de connexion Internet, certains instructeurs permettent u00e9galement u00e0 leurs u00e9tudiants de tu00e9lu00e9charger les cours. instructeur, alors assurez-vous d'u00eatre du bon cu00f4tu00e9u00a0!
4.6
4.6 sur 5
Notes17887

Détails des Notes

Étoiles 5
9393
Étoiles 4
6483
Étoiles 3
1679
Étoiles 2
224
Étoiles 1
117
Suivre un cours
Garantie de remboursement de 30 jours

Inclut

12 heures de vidéo à la demande
Accès complet à vie
Accès sur le mobile et la télévision
Certificat d'achèvement

Archive

Working hours

Monday 9:30 am - 6.00 pm
Tuesday 9:30 am - 6.00 pm
Wednesday 9:30 am - 6.00 pm
Thursday 9:30 am - 6.00 pm
Friday 9:30 am - 5.00 pm
Saturday Closed
Sunday Closed