Elasticsearch (2day Workshop)
Search is all around you. When using your phone, tablet or computer a lot of the things you do, deal with search. Also, most of the online websites and apps use a search solution underneath. This search solution is often created using Elasticsearch. Elasticsearch is an open source search solution, based on Apache Lucene, adding lots of features to enable you to create powerful search solutions.
Motivation for taking this training:
As a developer you would like to understand more of the internals of Elasticsearch. You want to learn about scaling your cluster, the structure of your indexes and the way to interact with elasticsearch. You always want to know how to index documents, create effective queries to select specific documents and evaluate why certain documents are returned before others. These are all subjects that are discussed in our two-day workshop.
Goal of the workshop:
The goal of the workshop is to give participants enough knowledge to start working on their own search projects. To become a search engineer, you need to have an idea of what search is and what options are available to you. You need to learn the best way to empower your users to find what they are looking for. We believe that learning about search becomes more effective when you practice what you've learned. Therefore the workshop consists of theoretical parts as well as practical parts.
At the end of the workshop you will have a good understanding of what relevant search results are and what is needed to return relevant results using elasticsearch. You also have added the first documents to elasticsearch and have written your first queries.
The workshop is tailored to the needs of the participants. If the group of people is developer oriented we discuss available elasticsearch clients. If the group is more operations oriented we discuss maintaining and installing the cluster in more depth.
An example setup for the workshop could look like this:
1. What is Search?
With examples of real-life concepts used in search solutions are explained. Think about: Inverted index, features, signals, precision, recall, aggregations.
2. Creating your data model
Explain the different data types and structures that are possible in elasticsearch. When to use which to enable the user to find the most relevant documents.
3. Introduction of the Query DSL
Elasticsearch comes with a lot of different query options. You'll learn of about the different types of queries and how to combine queries to obtain relevant results.
4. Explain why certain documents are returned in the order they are
Elasticsearch provides a few api's like "explain" and "profile" to help you as a search engineer understand the query results. We'll show in depth how a score is calculated and why one query takes longer than another.
5. Examine and design your cluster
You'll learn about the options you have to create an elasticsearch cluster, the role of nodes, indexes, shards. You'll also learn about some of the options you have to create the cluster (bare metal, docker, Elastic cloud, AWS Elasticsearch.
6. Submitting content
Without content, there is nothing to search for. Adding content is not hard, but you have a lot of options to make it go faster and better. Is this module you'll learn about using curl or a client to submit documents.