O'Reilly logo
live online training icon Live Online training

Elasticsearch First Steps

Topic: Data
Madhusudhan Konda

The enterprise distributed search and analytics engine Elasticsearch is the de facto standard in the marketplace. With its countless advanced features—including multilanguage analyzers, geospatial and time series storage, anomaly detection using machine learning algorithms, graph analytics, autocomplete and fuzzy searching, root cause analysis using log stores, rich visualizations of data, complex aggregations, and many more—Elasticsearch is a must-have tool for most organizations and businesses.

Product owners and business executives are gearing up to onboard Elasticsearch. As a result, tech teams are being tasked with designing and developing fully functional search and analytics service engines built on Elasticsearch from the ground up—which requires solid understanding of the product.

Join expert Madhusudhan Konda to explore Elasticsearch’s architecture and features through easy-to-follow code examples. You’ll learn how to get started indexing and searching humongous datasets and you walk through the tool’s search and analytics capabilities, key APIs, infrastructure patterns, and much more.

What you'll learn-and how you can apply it

By the end of this live online course, you’ll understand:

  • How to install and configure Elasticsearch
  • How to work with indices
  • Elasticsearch mappings and settings
  • How to index and delete data
  • How to search and analyze the data
  • Advanced search and query operations

And you’ll be able to:

  • Create an Elasticsearch cluster and run successfully in an environment
  • Index and reindex datasets using APIs
  • Build complex search queries and execute to fetch results
  • Create simple aggregations, running analytics on datasets

This training course is for you because...

  • You’re a developer, architect, analyst, manager, or product owner who wants to get started with Elasticsearch.
  • You work with large sets of data and want to understand how to use Elasticsearch to power full-text, fuzzy, term-level searches, and other advanced search features.
  • You want to become an Elasticsearch architect, developer, or analyst who designs and develops microservices talking to Elasticsearch clusters.

Prerequisites

  • A basic understanding of JSON
  • Familiarity with REST and Java (useful but not required)

Recommended preparation:

  • Complete the setup instructions here

Recommended follow-up:

About your instructor

  • Madhusudhan Konda is a passionate technologist and a lifelong tech learner who loves distilling complex problems into simpler solutions, looking at the big picture and providing technical direction, and experimenting with newer programming languages and shiny frameworks. Over his career, Madhusudhan has held roles such as solution architect, development lead, lead developer, and others, always with a strong inclination toward teaching his fellow techies programming languages, frameworks, and new technologies. He’s been instrumental in delivering high-quality solutions to major clients such as EBRD, Credit Suisse, UBS, Mizuho, Deutsche Bank, Halifax, British Petroleum, British Airways, and Lloyd’s of London, to name a few. His core competencies lie in not only creating simple architectures for complex business problems and designing and developing the software projects from the ground up but also providing strategic road maps, cost-effective architectures, and product designs, leading teams, mentoring, and providing thought leadership. He’s written well-received books and produced video courses on Java, Spring, and the Hibernate ecosystem.

Schedule

The timeframes are only estimates and may vary according to how the class is progressing

Introducing Elasticsearch (10 minutes)

  • Group discussion: Do you use Elasticsearch?
  • Presentation: Setting up the scene; What is Elasticsearch?; the ELK ecosystem—Elasticsearch, Logstash, and Kibana
  • Q&A

Getting started (15 minutes)

  • Hands-on demo: Installation; running the server
  • Q&A

Sample application (15 minutes)

  • Presentation: Overview; moving parts; indexing a book document; understanding the response; retrieving a book by ID; deleting and recreating an index; deleting a book
  • Hands-on exercise: Create a movie index; create movie documents
  • Q&A

High-level architecture (15 minutes)

  • Presentation: How search works; moving parts; inverted indices; clusters, nodes, and shards
  • Q&A
  • Break (5 minutes)

Mappings (10 minutes)

  • Presentation: What are mappings?; dynamic versus predefined mappings; the mappings API
  • Hands-on exercise: Implement mappings
  • Q&A

Analyzers (10 minutes)

  • Presentation: Introduction to analyzers; components—character filters, tokenizers, and token filters; out-of-the-box analyzers; custom analyzers
  • Q&A

Indexing operations (10 minutes)

  • Presentation: Index APIs; CRUD operations; templates
  • Hands-on exercise: Implement CRUD indices
  • Q&A

Document operations (10 minutes)

  • Presentation: Document APIs; CRUD documents
  • Hands-on exercise: Work with documents
  • Q&A

Basic search (15 minutes)

  • Presentation: Search methods; full text versus term search; URL search; query DSL
  • Hands-on exercises: Use search methods
  • Q&A
  • Break (5 minutes)

Advanced search (20 minutes)

  • Presentation: Full text query—Match and MatchAll; sort and size; highlights; compound queries—bool query, function score, boosting, and Dis Max; scripting
  • Hands-on exercise: Use advanced search methods
  • Q&A

Aggregations (10 minutes)

  • Presentation: Intro to aggreations; types; metrics—max/min, sum, average, and weighted average
  • Hands-on exercise: Implement aggregations
  • Q&A

Clients (10 minutes)

  • Group discussion: Which programming languages do you use?
  • Presentation: Programmatic access; clients—Java, Python, and JavaScript Q&A

Kibana visualizations (10 minutes)

  • Presentation: Dashboard; charts—bar and pie; adding visualizations
  • Hands-on exercise: Create visualizations

Wrap-up and Q&A (10 minutes)