Intended Audience: Anyone interested in Search
Pre-Requisites: Basic understanding of Information Technology
Skills you’ll gain
– Understanding of Information Retrieval systems
– Clear understanding of the Indexing/Searching phase
– Functional understanding of major features of Lucene based search engines
– High level internal functioning of Lucene based search engines
– Better debugging/troubleshooting ability
– How Lucene based search engines work in a distributed cluster
Duration: 3 days

Apache Lucene/Solr

  • Introduction to Information Retrieval
  • Apache Lucene
  • Apache Solr
  • The Inverted Index
  • Index time
  • Query time
  • The Data Model (schema.xml)
  • Text Analysis
  • Server Configuration (solrconfig.xml)
  • Exploring the Solr Admin
  • Lucene Scoring
  • Solr Query Debug
  • Solr Queries
  • Solr Query Parsers
  • Request Handlers and Search Components
  • Faceting
  • Highlighting
  • More Like This
  • Autocompletion
  • Spellchecking
  • Result Grouping
  • Distributed Search

Elasticsearch

  • Introduction to Information Retrieval
  • Apache Lucene
  • Elasticsearch
  • The Inverted Index
  • Mapping
    • Meta Fields
    • Field datatypes
    • Mapping parameters
    • Dynamic mapping
    • Explicit mapping
    • Multi-fields (copy fields)
    • CRUD REST APIs
    • Java client 
  • Text Analysis
    • Character filters
    • Tokenizer
    • Token filters
    • Index/Query time
    • Token streams VS Token graphs
    • Pre Built Analysers
    • Normalisers
    • Configure your analyser
    • Analyse API (test your analyser!)
    • REST APIs
    • Java client 
  • Indexing
    • Ingest nodes
    • REST APIs
    • Java client 
  • Searching
    • Query DSL
    • Leaf query clauses
    • Compound query clauses
    • Query context vs Filter context
    • Full text queries
    • Term level queries (prefix, wildcard,fuzzy…)
    • Geo queries
    • Specialised queries
    • Lucene Score
    • REST APIs
    • Java client
  • Aggregations
    • Bucketing
    • Metrics
    • Pipeline
    • Grouping / field collapsing
    • REST APIs
    • Java client
  • Rollup historically and data transforming
  • Highlighting
  • Suggesters
    • Term/Phrase suggester (Spellchecking)
    • Completion Suggester
    • REST APIs
    • Java client
  • Distributed search
  • SQL Access
    • SQL REST API
    • SQL supported language
    • Functions and operators
    • SQL ODBC/JDBC
    • Known limitations
  • Alerting
  • Document level security
  • Plugins
    • Plugin installation and management
    • Available plugins
    • let’s create our own plugin!
  • ELK (Elasticsearch Logstash Kibana)