This Elasticsearch training is the foundation for all the others: it covers the Lucene-based search and analytics engine in depth, from the user's point of view — storing documents, modeling them, searching them with relevance and getting statistics out of them.
The course is up to date with Elasticsearch 8.x and 9.x: on top of the fundamentals (mapping, text analysis, Query DSL, aggregations), it covers ES|QL and vector, semantic and hybrid search. Every topic is built on a real dataset and a lab, so your teams can integrate Elasticsearch into their projects on their own.
Learning objectives
- Understand how Elasticsearch and Lucene work: inverted index, shards, near real-time.
- Index, update and manipulate documents, one by one or in bulk.
- Model data: mapping, field types, relationships between documents.
- Master text analysis for relevant search, in any language.
- Write Query DSL queries and tune result relevance.
- Compute statistics with aggregations and ES|QL.
- Implement vector, semantic and hybrid search.
- Build application search features: autocomplete, suggestions, geo, highlighting.
Course outline
Module 1 — Fundamentals
- History, licensing and use cases: search engine, analytics, logs, vector database.
- Lucene and the inverted index; Elasticsearch as a distributed layer and REST API.
- Indices, documents, shards and replicas: what users need to know; near real-time and refresh.
- Local quick start (Docker), Kibana Dev Tools, official clients (Python, Java, JavaScript…).
- Lab: first index and first queries.
Module 2 — Indexing and managing documents
- Index, get, update (partial, upsert, script), delete.
- Versioning and optimistic concurrency
(
if_seq_no/if_primary_term). - Bulk API: mass loading and error handling.
- Update by query, delete by query, reindex.
- Lab: loading a real dataset.
Module 3 — Data modeling and mapping
- Field types: text, keyword, numeric, date, boolean, geo_point, flattened, dense_vector…
- Dynamic mapping, dynamic templates and explicit mapping; multi-fields.
- Evolving a mapping: what can change, what requires a reindex.
- Relationships: denormalization, nested, parent / child
(
join) — benefits and costs. - Lab: designing a product catalog mapping.
Module 4 — Text analysis
- How text is actually stored: analyzers, character filters, tokenizers, token filters; Analyze API.
- Language analyzers: stemming, elision, asciifolding, stop words.
- Synonyms (synonyms API), shingles, ngrams and edge ngrams, normalizers.
- Index-time vs search-time analysis.
- Lab: a custom analyzer for multilingual content.
Module 5 — Searching with the Query DSL
- Query context vs filter context.
- Full-text queries: match, match_phrase, multi_match, query_string, simple_query_string.
- Term-level queries: term, terms, range, exists, prefix, wildcard, fuzzy.
- Combining with
bool: must, should, filter, must_not. - Sorting, pagination (from / size, search_after + point in time),
_sourcefiltering, collapse. - Lab: a multi-criteria search engine.
Module 6 — Relevance and scoring
- Scoring in Lucene: from TF-IDF to BM25; Explain API.
- Boosts,
function_score,script_score, rank_feature, decay functions. - Rescoring and reranking.
- Measuring relevance: Ranking Evaluation API.
- Lab: improving result ranking.
Module 7 — Aggregations
- Metrics: avg, sum, min, max, stats, cardinality, percentiles (approximate statistics).
- Buckets: terms, range, histogram, date_histogram, filters.
- Nesting, pipeline aggregations, aggregations on nested documents.
- Search facets, composite aggregation for paging.
- Lab: an analytics dashboard through the API.
Module 8 — ES|QL
- Elasticsearch's piped query language: FROM, WHERE, EVAL, STATS, SORT, KEEP.
- Enrichment and joins: ENRICH, LOOKUP JOIN.
- ES|QL vs Query DSL: when to use which.
- Lab: ad hoc analysis with ES|QL.
Module 9 — Vector, semantic and hybrid search
- Embeddings and similarity;
dense_vectorfield, kNN search (HNSW), quantization. - Semantic search:
semantic_text, ELSER (sparse), Inference API and external models. - Hybrid search: lexical + vector, retrievers, Reciprocal Rank Fusion (RRF).
- Elasticsearch as a RAG building block for generative AI applications.
- Lab: hybrid search over a document corpus.
Module 10 — Application search features
- Autocomplete: completion suggester, search_as_you_type.
- "Did you mean": term and phrase suggesters, fuzziness.
- Result highlighting.
- Geo data: geo_distance, geo_bounding_box, sorting by distance.
- Search templates, percolator, zero-downtime reindex with aliases.
- Lab: a complete search bar.
Going further: running a cluster in production is covered in the Elasticsearch administration training, data collection in the ELK / Elastic Stack training and visualization in the Kibana training.
The instructor
With over 160 training sessions conducted on Elastic technologies, your instructor is engaged in production work for 50% of the time, serving as an Elk and Elastic Stack consultant . You have an instructor who also possesses hands-on production experience.
Mathieu ELIE
Elasticsearch & Elastic Stack expert
He teaches your course himself, from the first day to the last.
Elastic Certified Engineer
- 160+ training sessions delivered
- Elasticsearch since 2011, 100% Elastic since 2016
- 50% of his time in production for clients (consulting)
- Conference speaker, in English and French
2 to 4 days.
I can modulate the duration for your company.
WITH QUOTE
Rates are defined for you, in inter or intra company.
Custom
Get in touch: I will adapt duration, location and course content. A consulting part is also possible, for example on the data model or the relevance of your own search engine.
Who should attend
Developers, data engineers, architects, technical project managers and anyone who needs to integrate or use Elasticsearch.
Prerequisites
Basic REST API and JSON knowledge. No prior Elasticsearch experience required.
Method
50% theory, 50% practice. Each module ends with a lab on a real dataset, with solutions.
Training materials
You will get PDF training materials for all of my courses and code for Hands-on labs.
