Course Outline
1. Introduction to Elasticsearch
- Defining Elasticsearch.
- Practical use cases for Elasticsearch.
- Overview of Elasticsearch architecture.
- Key components of the Elastic Stack (Elasticsearch, Logstash, Kibana, Beats).
- Installing and running Elasticsearch using containers.
- Investigating the REST API.
2. Understanding Indices and Documents
- Document structure and JSON format.
- Organizing data using indices.
- The role of shards and replicas.
- Concepts behind the index lifecycle.
- Procedures for creating, updating, and deleting indices.
- Performing CRUD operations on documents.
3. Writing Search Queries
- Overview of the Query DSL.
- Using match queries.
- Using term queries.
- Constructing boolean queries.
- Using range queries.
- Prefix, wildcard, and fuzzy search techniques.
- Implementing pagination and sorting.
- Distinguishing between filtering and querying.
4. Performing Text Analysis
- Basics of full-text search.
- The function of analyzers.
- Working with tokenizers.
- Applying character filters.
- Applying token filters.
- Using language-specific analyzers.
- Creating custom analyzers.
- Strategies for enhancing search relevance.
5. Defining Mappings
- How dynamic mappings work.
- Configuring explicit mappings.
- Different field data types.
- Handling nested and object fields.
- Managing date and numeric fields.
- Best practices for mapping data.
- Safely updating existing mappings.
6. Expanding Your Searches
- Searching across multiple fields.
- Utilizing multi-match queries.
- Executing phrase searches.
- Highlighting specific search results.
- Adjusting search boosts.
- Using function score queries.
- Implementing search templates.
7. Understanding the Distributed Model
- Cluster architecture overview.
- Node types and their roles.
- Differences between primary and replica shards.
- Assessing cluster health.
- How data is distributed.
- Mechanisms for fault tolerance.
- Concepts of high availability.
8. Manipulating Search Results
- Strategies for pagination.
- Filtering the source of results.
- Collapsing fields in results.
- Using script fields.
- Techniques for sorting results.
- Highlighting features in search results.
- Optimizing the search response payload.
9. Aggregations and Analytics
- Performing metric aggregations.
- Creating bucket aggregations.
- Using pipeline aggregations.
- Executing statistical calculations.
- Working with histograms.
- Performing date-based aggregations.
- Constructing complex analytical queries.
- Optimizing aggregation performance.
10. Handling Data Relationships
- Structure of object fields.
- Managing nested documents.
- Setting up parent-child relationships.
- Strategies for denormalization.
- Selecting the appropriate data model.
- Querying associated data sets.
11. Integrating Elasticsearch with Applications
- Integrating via the REST API.
- Using Elasticsearch client libraries.
- Indexing data from your application.
- Utilizing the Bulk API.
- Interacting with Search APIs.
- Implementing error handling.
- Best practices for application integration.
12. Performance Optimization
- Strategies for efficient indexing.
- Optimizing search queries.
- Implementing bulk indexing.
- Configuring refresh intervals.
- Leveraging caching mechanisms.
- Managing memory usage.
- Monitoring system performance.
13. Monitoring and Troubleshooting
- Tracking cluster health.
- Analyzing index statistics.
- Diagnosing slow-running queries.
- Addressing common indexing issues.
- Resolving cluster-related problems.
- Understanding backups and snapshots.
- Utilizing logs for diagnostics.
14. Hands-on Workshop and Summary
- Developing a fully searchable application.
- Designing optimal indices and mappings.
- Implementing full-text search features.
- Creating aggregations and analytics views.
- Tuning search performance.
- Recap of fundamental concepts.
- Open Q&A session.
- Review of best practices and future steps.
Requirements
- Practical experience in software development.
- Comfortable navigating and using the command line.
- No prior knowledge of Elasticsearch is necessary.
Audience
- Software developers.
Testimonials (7)
Plenty of knowledge.
Ireneusz - Inter Cars S.A.
Course - Elasticsearch for Developers
Trainer big knowledge and excersises part
Kamil Romankiewicz - Inter Cars S.A.
Course - Elasticsearch for Developers
- performance of prepared training environment - adequate examples and topics in accordance with needs
Blazej - Kyndryl Wroclaw
Course - Elasticsearch for Developers
I liked that we got a general overview of elastic and learned tons of things that could be applied in current project the first day. I also liked that we went through current project code with a code review and mention improvements or/and stuff to think about or take up for discussion in the project on the second day. I like that the training gave me a good base to continue delve into elastic search.
Mattias Hansson - Chalmers Tekniska Hogskola AB
Course - Elasticsearch for Developers
The content relevnt and to the point
Qiniso Mdletshe - Quidco
Course - Elasticsearch for Developers
Doing the exercises. I really enjoyed the practicals.
Warren Stephen - Quidco
Course - Elasticsearch for Developers
Marcin knew exactly what he talking about and had proper hands on in-depth experience with the tools. He had answers to all our questions and made some really strong recommendations that we could start working towards with future projects and uses.