
Introduction to course, short description of every particular section
Docker basic conceptions
That lecture describes how to install Docker at Linux system taking Ubuntu OS as example
That lecture describes how to install Docker at Windows 10 OS system
That lecture describes how to install Docker at Mac OS system
That lecture describes how to run ElasticSearch as standalone instance or cluster using Docker. We will learn also how to speak with ElasticSearch engine using curl.
You will learn about security changes that appeared at Elasticsearch 8 relatively to 7th version. At current lecture you will see how to run Elasticsearch 8 instance as standalone docker container using cli. You will get knowledge how to work with TLS certificates and how to use it at curl requests
At current lecture you will see how to run Elasticsearch 8 instance as standalone docker container using docker compose with disabled or enabled security options
At current lecture you will see how to run Elasticsearch 8 cluster with 3 nodes using docker compose with enabled security options
At that lecture you will learn ElasticSearch basics: how data are organized: indexes -> types -> documents. You will also get acquainted ElasticSearch Chrome plugin and Postman tools.
At that lecture you will learn ElasticSearch basics: How to install and use ElasticSearch Chrome plugin and Postman for working with ElasticSearch. You would be able to indexing first test documents to ElasticSearch and run first simple DSL queries. Current lecture also describes problems jaround son validation and broken relevance introduction.
At that lecture you will learn how to run next DSL queries: term, range, terms, geo distance, match, multi match dsl queries. In addition you will learn what is mapping and why it is so important.
At that lecture you will learn how to run next DSL queries: term, range, terms, geo distance, match, multi match dsl queries. In addition you will learn what is mapping and why it is so important.
At that lecture you will learn what are analyzers and tokenizers, how to create own custom complicates analyzers. Examples of using analyzers would be provided.
At that lecture you will learn how to build complicated DSL queries using boolean operators.
At that lecture you will get the problem definition and requirements for advance search system we are going to build at current section.
At that lecture you will learn about data modeling at ElasticSearch: denormalization, nested objects, parent-child relationship, Pros and cons of every approach.
At that lecture you will learn how to create complicated mapping for advanced search system using nested objects, parent child relationships and custom analyzers. I will also learn how to learn basic parent child DSL queries
At that lecture you will learn how to build advanced search DSL query using different bool combinations
At that lecture you will learn to run DSL queries against nested objects. You will learn about aggregations basics, how apply terms, histogram and average aggregations at example of advanced search system.
At that lecture you will learn how to run geo shape DSL queries and how to use geo aggregations
You will learn about constant score and function score ElasticSearch conceptions
You will learn how to create recommendation system using Elasticsearch
You will get task definition for building real microservice using ElasticSearch
You will learn how to prepare local environment for PHP+Symfony+ElasticSearch microservice, how install package dependencies and prepare skeleton for further work.
At that lecture you will learn about Symfony front controller and how to built well documented API point.
You will know what is DTO, what is for and how to implement it at PHP search microservice.
You will know which popular Symfony byndles exists for ElasticSearch, how to configure ONGR bundle and how to create ElasticSearch data layer using OOP approach.
You will learn how to create symfony command for indexing test data set.
You will learn how implement filter design pattern, how to create final ElasticSearch query using Symfony and ONGR bundle, how to debug possible problems within ElasticSearch integration
You will learn how to upgrade:
- PHP version from 7 to 8th version
- Symfony framework from 4.4 to the 5.4 version
You will learn how to upgrade Elasticsearch version from 7th to 8th version having security options at Elasticsearch to be disabled
At current lecture we will make attempt to turn on security at Elasticsearch 8 engine and will verify which problems it cause and how can we deal with that
You will learn how to prepare local environment for Python+Flask+ElasticSearch microservice, how install package dependencies and prepare skeleton for further work.
At that lecture you will learn about Flask front controller and how to built well documented API point.
You will know what is DTO, what is for and how to implement it at Python search microservice.
You will learn how to index test initial data using python command, how to create mapping using OOP approach with elasticsearch dsl python package
You will learn how implement filter design pattern, how to create final ElasticSearch query using python and python dsl package , how to debug possible problems within ElasticSearch integration using tests
You will learn how to upgrade:
- Python version from 3.8 to 3.11 version
- Flask framework from 2.0 to the 2.3 version
You will learn how to upgrade Elasticsearch version from 7th to 8th version having security options at Elasticsearch to be disabled
At current lecture we will make attempt to turn on security at Elasticsearch 8 engine and will verify which problems it cause and how can we deal with that
You will learn how to prepare local environment for Java+Spring Boot+ElasticSearch microservice, how install package dependencies and prepare skeleton for further work.
At that lecture you will learn about Spring front controller and how to built well documented API point.
You will know what is DTO, what is for and how to implement it at Java search microservice.
You will learn how to index test initial data using spring init loader, how to create mapping using OOP approach with spring data elasticsearch
You will learn how implement filter design pattern, how to create final ElasticSearch query using sping boot and spring elasticsearch data, how to debug possible problems within ElasticSearch integration
You will learn how to upgrade:
- Java version from 11 to 17version
- Spring Boot framework from 2.5 to the 3.0 version
- Elasticsearch from 7th to 8th version with disabled security options
At current lecture you will learn how to turn on security features at Elasticsearch 8 and which changes that cause from code side
You will learn how to create high available ElasticSearch cluster at production
You will learn what is ElasticSearch shards, how to calculate the number of shards for cluster and what are the main performance issues.
You will learn how to index millions of documents in the most efficient way with zero time downtime
Everybody knows ElasticSearch as a popular full-text search engine or as part of ELK but I am going to show you ElasticSearch from the side you have never known before. I want to show you that with ElasticSearch you can build very advanced search engines or even recommendation modules that can be much more effective and together with that, much more simpler than similar systems built on top of machine learning technologies. I want to show the real geo power of ElasticSearch for building advanced search filters and aggregations.
This course is built in such a way it would be useful both: for complete beginners and for people who are working with ElasticSearch but would like to extend their practice knowledge. It would be especially useful for those who are going to build some recommendation systems or advanced search mechanisms in the near future.
The course consists of 5 modules. First module is aimed for beginners and can be skipped by people who are already working with ElasticSearch. Here I will tell you about basics: how to install and configure the environment using Docker, how data at ElasticSearch are organized, why mapping is so important and what all that mess around tokenizers and analyzers means.
In the second section I will show how to build an advanced search system step by step on a real example of a simplified booking com version. We will touch the topics about ES geopower here.
Next course section is devoted to the recommendation module. Here we will speak about recommendation systems in general - about pros and cons of today's methods. And again together we will build a real system using ElasticSearch. We will create a recommendation mechanism for virtual example of cleaning houses' marketplace.
In the fourth section I will show real examples using php, python and Java libraries for integration with ElasticSearch. And again we will create real microservice applying best programming practices and interesting design patterns like builder pattern or filter pattern. I will touch here also the question of debugging the possible problems.
The fifth and the last part is about using ElasticSearch for production. Here I will share with you my knowledge on how to set up a highly available cluster, how to calculate shard size and storage requirements, how to index millions of documents in the most efficient way and even how to preserve zero downtime at reindexing