Courses and certifications Open Source


Elasticsearch - Full-text in Practice

34.000 CZK

Price (without VAT)

4. 11. 5. 11. 2021
6. 12. 7. 12. 2021

The course is designed for those who want to learn how to create a full-text search in their project, which we will explore more in deep. In addition to using Elasticsearch, we will learn other user search concepts.

During the course we will jointly create a search for real data; from design and architecture to a fully functional solution that we will gradually expand on advanced work with Czech language, synonyms, typing, narrator and other features. We will discuss how to influence relevance based on user behavior (ratings, purchases, etc.) and other factors. Finally, we'll show you how to run the entire solution in a production environment. 


The course is designed for all developers who work on projects where they want to solve user searches (eg product catalogs, articles, etc.). 

Course gaurantor


Petr's expertise is from architectural solution through custom development (JavaScript, PHP) through Elasticsearch, Oracle, PL / SQL to agile methodology and SCRUM. At the same time, Petr has been working with Elasticsearch for several years and has become a chief lecturer in Datascript.


Search built for users

  • How do users search on your site?
  • How to Design Search, Architecture
  • The process of processing a user query
  • Search Context
  • Identity of entities (what does the user actually look for)?

Cluster for fulltext

  • Design a cluster architecture for full-text search
  • Lab

Data indexing to Elasticsearch

  • Synchronize data from relational databases and other repositories
  • Continuous and one-time data indexing
  • Track and improve document indexing performance
  • Lab

Creation of a full-text search

  • Fundamentals of fulltext, inverted index
  • Set up a suitable mapping
  • Links between objects, tips from practice
  • Basic text analysis
  • Lab

Working with the Czech language

  • How to search in honor?
  • Basic overview of tools for working with the Czech language
  • Non-accented search
  • Search for the root of a word
  • Available Stemmers, Lematization
  • In Depth, creation of own dictionaries
  • Recommended analyzer for Czech language
  • Practice tips
  • Lab

Searching DSL query

  • Creating a search query
  • Search in one or more fields
  • Multi-field search strategy and how do you choose in which case?
  • Getting rid of whole phrases
  • Practice tips
  • Lab

Joining another field

  • Benefit, boosting
  • Code search
  • Searching for parameters, categories, tags, tags
  • How to set the scales in each field
  • Signals
  • Lab


  • How and why to include synonyms in the search process?
  • Dictionary of available synonyms for Czech and other languages
  • Creating and engaging your own dictionaries
  • Practice tips
  • Lab


  • What is relevance?
  • How to measure relevancy?
  • How do you measure change in relevancy when editing your search?
  • Score how Elasticsearch counts relevance
  • TF / IDF, BM25 and the theoretical minimum
  • Lab

Affecting relevance

  • Influencing results based on user actions (purchases, ratings, etc.)
  • Influence based on document properties
  • Rescoring documents
  • Decay function
  • Lab


  • In general, the issue of "whispering"
  • Different possibilities of implementation on practical demonstrations
  • How to get the same results in your search engine and search results?
  • Dis_max and next query in depth
  • Lab


  • Basic solution for typos
  • We create "Did you mean?"
  • Suggesters
  • Lab

User filters, facet navigation

  • How do user filters work?
  • Aggregation
  • We create "Did you mean?"
  • Suggesters
  • Lab

Launching into the production

  • Configure cluster for production environment
  • We select the number of nodes, shards, replicas
  • Monitoring settings
  • We are scaling for data and traffic
  • Lab

Technical requirements

  • Computer with any OS (Linux, Windows, OS X)
  • SSH client (eg Windows Winsshterm, Putty), permission to connect remotely to SSH (port 22)
  • Web browser


Basic knowledge of Elasticsearch, HTTP protocol, JSON format, general knowledge of database systems.

Previous course


Inquire course

* Required field


Michal Kubis
19. 1. 2021
Extremely beneficial training led by an expert on the floor. Personally, I also very much appreciated the willingness of the lecturer to provide extremely high quality (and I dare say valuable) data, on the basis of which the entire training was built. At the same time, I appreciate the huge experience of the issue from many different companies, which are also the largest players in the Czech market. Michal Kubis (HP Tronic)
Cookies help us provide our services. By using our services, you agree to their use.
More information