Course Outline
1. Introduction to Elasticsearch
- Definition and core capabilities of Elasticsearch
- Practical applications in public sector operations
- Architectural overview and design principles
- Key components of the Elastic Stack (Elasticsearch, Logstash, Kibana, Beats)
- Deployment strategies using containerization
- Interaction with the RESTful API
2. Managing Indices and Documents
- Document structure and JSON formatting standards
- Data organization through indices
- Sharding mechanisms and replica management
- Concepts of index lifecycle management
- Procedures for creating, modifying, and removing indices
- Performing Create, Read, Update, and Delete (CRUD) operations on documents
3. Constructing Search Queries
- Overview of the Query Domain Specific Language (DSL)
- Implementation of match-based queries
- Execution of term-specific queries
- Composition of boolean logic queries
- Utilization of range-based conditions
- Application of prefix, wildcard, and fuzzy matching
- Techniques for result pagination and sorting
- Distinguishing between filtering and querying methods
4. Text Analysis Techniques
- Foundations of full-text search processing
- Configuration of analyzers
- Role and use of tokenizers
- Application of character-level filters
- Implementation of token-level filters
- Integration of language-specific analyzers
- Design of custom analysis pipelines
- Strategies to enhance search relevance and accuracy
5. Establishing Data Mappings
- Management of dynamic mapping behavior
- Definition of explicit field mappings
- Specification of supported data types
- Handling of nested structures and object fields
- Configuration of date and numeric data fields
- Adherence to mapping best practices for government systems
- Safe procedures for modifying existing mappings
6. Advanced Search Capabilities
- Implementation of multi-field search logic
- Construction of multi-match query structures
- Execution of exact phrase matching
- Techniques for highlighting specific terms in results
- Adjusting search priority through boosting
- Application of function score queries for complex ranking
- Utilization of search templates for standardized queries
7. Distributed System Architecture
- Analysis of cluster architecture and topology
- Roles and responsibilities of individual nodes
- Management of primary and replica shards
- Assessment of overall cluster health status
- Strategies for efficient data distribution
- Mechanisms for ensuring fault tolerance
- Principles of maintaining high availability
8. Result Set Manipulation
- Strategies for managing result pagination
- Application of source field filtering
- Use of field collapsing to reduce duplicates
- Implementation of dynamic script-based fields
- Advanced sorting algorithms and techniques
- Methods for emphasizing relevant search hits
- Optimization of response payload size and structure
9. Data Aggregation and Analytics
- Calculation of metric aggregations
- Creation of bucket-based groupings
- Execution of pipeline aggregations for sequential processing
- Performance of statistical computations
- Generation of histogram data visualizations
- Implementation of date-based aggregations
- Construction of complex analytical query chains
- Considerations for aggregation performance and efficiency
10. Managing Data Relationships
- Structure and usage of object fields
- Implementation of nested document models
- Establishment of parent-child relationships
- Application of denormalization techniques
- Selection of optimal data modeling strategies
- Methods for querying interrelated datasets
11. Application Integration
- Strategies for REST API integration
- Selection and use of official client libraries
- Processes for indexing application-generated data
- Utilization of the Bulk API for efficient ingestion
- Implementation of search functionality via APIs
- Robust error handling and exception management
- Best practices for secure and reliable integration
12. Performance Enhancement
- Development of efficient indexing workflows
- Optimization of query execution paths
- Implementation of bulk indexing protocols
- Adjustment of refresh intervals for balance
- Strategy for effective cache utilization
- Best practices for memory resource management
- Continuous performance monitoring and tuning
13. System Monitoring and Diagnostics
- Continuous monitoring of cluster operational health
- Analysis of index-level statistical data
- Identification and diagnosis of performance bottlenecks
- Resolution of common indexing failures
- Procedures for troubleshooting cluster-wide issues
- Implementation of backup and snapshot recovery strategies
- Utilization of logging for diagnostic purposes
14. Practical Workshop and Conclusion
- Construction of a functional search-enabled application
- Design of robust index structures and mappings
- Implementation of full-text search features
- Creation of aggregation-based analytics
- Optimization of search response times and throughput
- Comprehensive review of core technical concepts
- Interactive question and answer session
- Summary of best practices and recommended next steps
Requirements
- Experience in software development methodologies and practices.
- Familiarity with command-line interface operations.
- Prior experience with Elasticsearch is not a prerequisite for participation.
Target Audience
- Software developers and technical staff responsible for maintaining or developing government digital infrastructure.
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.