Let us help you find the training program you are looking for.

If you can't find what you are looking for, contact us, we'll help you find it. We have over 800 training programs to choose from.

banner-img

Course Skill Level:

Foundational

Course Duration:

3 day/s

  • Course Delivery Format:

    Live, instructor-led.

  • Course Category:

    DevOps

  • Course Code:

    ELASTIL21E09

Who should attend & recommended skills:

Developers and administrators with basic programming experience

Who should attend & recommended skills

  • This course is designed for developers and administrators building and managing search-oriented applications and scalable search applications using Elasticsearch.
  • Skill-level: Foundation-level Elasticsearch skills for Intermediate skilled team members.
  • This is not a basic class.
  • Programming: Basic (1-2 years’ experience).

About this course

Elasticsearch teaches you how to write applications that deliver professional quality search. As you read, you’ll learn to add basic search features to any application, enhance search results with predictive analysis and relevancy ranking, and use saved data from prior searches to give users a custom experience. This practical course focuses on Elasticsearchs REST API via HTTP. Code snippets are written mostly in bash using cURL, so they’re easily translatable to other languages.

Skills acquired & topics covered

  • Working in a hands-on learning environment, led by our Elasticsearch expert instructor, students will learn about and explore:
  • How to build scalable search applications using Elasticsearch
  • Ramping up fast, with an informative overview and an engaging introductory example
  • Picking up the core concepts you need to implement basic searches and efficient indexing
  • Gaining an organized view of how to optimize your design after the fundamentals are well in hand
  • What is a great search application?
  • Building scalable search solutions
  • Using Elasticsearch with any language
  • Configuration and tuning

Course breakdown / modules

  • Solving search problems with Elasticsearch
  • Exploring typical Elasticsearch use cases

  • Understanding the logical layout: documents, types, and indices
  • Understanding the physical layout: nodes and shards
  • Indexing new data
  • Searching for and retrieving data
  • Configuring Elasticsearch
  • Adding nodes to the cluster

  • Using mappings to define kinds of documents
  • Core types for defining your own fields in documents
  • Arrays and multi-fields
  • Using predefined fields
  • Updating existing documents
  • Deleting data

  • Structure of a search request
  • Introducing the query and filter DSL
  • Combining queries or compound queries
  • Beyond match and filter queries
  • Querying for field existence with filters
  • Choosing the best query for the job

  • What is analysis?
  • Using analyzers for your documents
  • Analyzing text with the analyze API
  • Analyzers, tokenizers, and token filters, oh my!
  • Ngrams, edge ngrams, and shingles
  • Stemming

  • How scoring works in Elasticsearch
  • Other scoring methods
  • Boosting
  • Understanding how a document was scored with explain
  • Reducing scoring impact with query rescoring
  • Custom scoring with function_score
  • Tying it back together
  • Sorting with scripts
  • Field data detour

  • Understanding the anatomy of an aggregation
  • Metrics aggregations
  • Multi-bucket aggregations
  • Nesting aggregations

  • Overview of options for defining relationships among documents
  • Having objects as field values
  • Nested type: connecting nested documents
  • Parent-child relationships: connecting separate documents
  • Denormalizing: using redundant data connections
  • Application-side joins

  • Adding nodes to your Elasticsearch cluster
  • Discovering other Elasticsearch nodes
  • Removing nodes from a cluster
  • Upgrading Elasticsearch nodes
  • Using the _cat API
  • Scaling strategies
  • Aliases
  • Routing

  • Grouping requests
  • Optimizing the handling of Lucene segments
  • Making the best use of caches
  • Other performance tradeoffs

  • Improving defaults
  • Allocation awareness
  • Monitoring for bottlenecks
  • Backing up your data