ElasticSearch: from basics to advanced search system, recommendation module, php/python/java integration at real example
Description
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
Who this course is for:
- Software engineers, developers
- Everybody who wants to build advanced search system at closest future
- Everybody who wants to build recommendation system at closest future
- Everybody who is interested at NoSQL databases
- Everybody who likes ElasticSearch and want to get more knowledge around it