EIEIOTECHNOVATION
← Training programmes

EIEIO / AUTOMATION & EMERGING TECHNOLOGY

Complete Guide to Elasticsearch and Kibana

Course outline

2 days

Duration

2 days

What you'll learn

  • How to build a powerful search engine with Elasticsearch
  • The theory of Elasticsearch and how it works under-the-hood
  • Write complex search queries
  • Be proficient with the concepts and terminology of Elasticsearch

Introduction

  • Introduction to the course
  • Introduction to Elasticsearch
  • Overview of the Elastic Stack

Getting Started

  • Overview of installation options
  • Running Elasticsearch & Kibana in Elastic
  • Installing Elasticsearch on Windows
  • Exploring the Elasticsearch directory
  • Installing Kibana on Windows
  • Understanding the basic architecture
  • Inspecting the cluster
  • Sending queries with cURL
  • Sharding and scalability
  • Sharding
  • Understanding replication
  • Replication
  • Adding more nodes to the cluster (for development)
  • Overview of node roles

Managing Documents

  • Creating & deleting indices
  • Indexing documents
  • Retrieving documents by ID
  • Updating documents
  • Scripted updates
  • Upserts
  • Replacing documents
  • Deleting documents
  • Understanding routing
  • How Elasticsearch reads data
  • How Elasticsearch writes data
  • Understanding document versioning
  • Optimistic concurrency control
  • Update by query
  • Delete by query
  • Batch processing
  • Importing data with cURL

Mapping

  • A word on document types
  • Introduction to mapping
  • Dynamic mapping
  • Meta fields
  • Field data types
  • Adding mappings to existing indices
  • Updated query
  • Changing existing mappings
  • Mapping parameters
  • Adding multi-fields mappings
  • Defining custom date formats
  • Picking up new fields without dynamic mapping

Analysis & Analyzers

  • Introduction to the analysis process
  • A closer look at analyzers
  • Using the Analyze API
  • Understanding the inverted index
  • Analyzers
  • Overview of character filters
  • Overview of tokenizers
  • Overview of token filters
  • Overview of built-in analyzers
  • Configuring built-in analyzers and token filters
  • Creating custom analyzers
  • Using analyzers in mappings
  • Adding analyzers to existing indices
  • A word on stop words

Introduction to Searching

  • Search methods
  • Searching with the request URI
  • Introducing the Query DSL
  • How searching works
  • Understanding query results
  • Understanding relevance scores
  • Debugging unexpected search results
  • Query contexts
  • Full text queries vs term level queries
  • Basics of searching

Term Level Queries

  • Introduction to term level queries
  • Searching for a term
  • Searching for multiple terms
  • Retrieving documents based on IDs
  • Matching documents with range values
  • Working with relative dates (date math)
  • Matching documents with non-null values
  • Matching based on prefixes
  • Searching with wildcards
  • Searching with regular expressions
  • Term Level Queries

Full Text Queries

  • Introduction to full text queries
  • Flexible matching with the match query
  • Matching phrases
  • Searching multiple fields
  • Full Text Queries

Adding Boolean Logic to Queries

  • Introduction to compound queries
  • Querying with boolean logic
  • Debugging bool queries with named queries
  • How the “match” query works

Joining Queries

  • Introduction to this section
  • Querying nested objects
  • Nested inner hits
  • Mapping document relationships
  • Adding documents
  • Querying by parent ID
  • Querying child documents by parent
  • Querying parent by child documents
  • Multi-level relations
  • Parent/child inner hits
  • Terms lookup mechanism
  • Join limitations
  • Join field performance considerations

Controlling Query Results

  • Specifying the result format
  • Source filtering
  • Specifying the result size
  • Specifying an offset
  • Pagination
  • Sorting results
  • Sorting by multi-value fields
  • Filters

Aggregations

  • Introduction to aggregations
  • Metric aggregations
  • Introduction to bucket aggregations
  • Document counts are approximate
  • Nested aggregations
  • Filtering out documents
  • Defining bucket rules with filters
  • Range aggregations
  • Histograms
  • Global aggregation
  • Missing field values
  • Aggregating nested objects

Improving Search Results

  • Introduction to this section
  • Proximity searches
  • Affecting relevance scoring with proximity
  • Fuzzy match query (handling typos)
  • Fuzzy query
  • Adding synonyms
  • Adding synonyms from file
  • Highlighting matches in fields
  • Stemming

Programme scope, delivery arrangements and suitability are confirmed during enquiry.