Solr Unleashed

December 5, 2016
12:00 - 12:00am

Course Overview

Having consulted with clients on Apache Lucene and Solr projects for the better part of a decade, we’ve seen the same mistakes made over and over again. Common errors that result in applications built on shaky foundations that get stretched to the breaking point and eventually fail. In this two day class, learn from the experts about how to do it right and make sure your apps are rock solid, scalable, and produce relevant results.

Course Outline

The Fundamentals

  • About Solr
  • Installing and running Solr
  • Adding content to Solr
  • Reading a Solr XML response
  • Changing parameters in the URL
  • Using the browse interface


  • Sorting results
  • Query parsers
  • More queries
  • Hardwiring request parameters
  • Adding fields to default search
  • Faceting
  • Result grouping


  • Adding your own content to Solr
  • Deleting data from Solr
  • Building a bookstore search
  • Adding book data
  • Exploring the book data
  • Dedupe updateprocessor

Updating your schema

  • Adding fields to the schema
  • Analyzing text


  • Field weighting
  • Phrase queries
  • Function queries
  • Fuzzier search
  • Sounds-like

Extended features

  • More-like-this
  • Geospatial
  • Spell checking
  • Suggestions
  • Highlighting
  • Pseudo-fields
  • Pseudo-joins
  • Multilanguage


  • Adding more kinds of data


  • Introduction
  • How SolrCloud works
  • Commit strategies
  • ZooKeeper
  • Managing Solr config files

Who should attend?

This course is intended for Developers.  System Administrators are welcome to attend, but it is primarily designed for people who have experience developing web applications in Java, PHP, Ruby or similar languages.

Learning Objectives

This class is all about best practices. The end goal is for students to walk away confident that their Solr installation is implemented in the best possible way.


This is a technical class for technical people.  Experience with Solr is not required, but you should at minimum be comfortable with a command line (console, shell) to execute basic commands.