Course Code: solrdev
Duration: 21 hours
Prerequisites:

All attendees should be experienced technical staff with a background in web application operations and, preferably, development.

Lab environment:

Amazon EC2 servers will be provided students for installation, administration and lab work. Students would need an SSH client and a browser to access the cluster.

Zero Install : There is no need to install Solr software on students’ machines! (although it is possible)

Overview:

This course introduces students to the Solr platform. Through a combination of lecture, discussion and labs students will gain hands on experience configuring effective search and indexing.

The class begins with basic Solr installation and configuration then teaches the attendees the search features of Solr. Students will gain experience with faceting, indexing and search relevance among other features central to the Solr platform. The course wraps up with a number of advanced topics including spell checking, suggestions, Multicore and SolrCloud.

Duration: 3 days

Audience: Developers, business users, administrators

Course Outline:

Overall Goal

Provide experienced web developers and technical staff with a comprehensive introduction to the Solr search platform. Teach software developer deep skills creating search solutions.

I. Fundamentals

  • Solr Overview
  • Installing and running Solr
  • Adding content to Solr
  • Reading a Solr XML response
  • Changing parameters in the URL
  • Using the browse interface
  • Labs: install Solr, run queries

II. Searching

  • Sorting results
  • Query parsers
  • More queries
  • Hardwiring request parameters
  • Adding fields to default search
  • Faceting
  • Result grouping
  • Labs: advanced queries, experiment with faceted search

III. Indexing

  • Adding your own content to Solr
  • Deleting data from solr
  • Building a bookstore search
  • Adding book data
  • Exploring the book data
  • Dedupe update processor
  • Labs: indexing various document collections

IV. Schema Updating

  • Adding fields to the schema
  • Analyzing text
  • Labs: customize Solr schema

V. Relevance

  • Field weighting
  • Phrase queries
  • Function queries
  • Fuzzier search
  • Sounds-like
  • Labs: implementing queries for  relevance

VI. Extended features

  • More-like-this
  • Geospatial
  • Spell checking
  • Suggestions
  • Highlighting
  • Pseudo-fields
  • Pseudo-joins
  • Multilanguage
  • Labs: implementing spell checking and suggestions

VII. Multicore

  • Adding more kinds of data
  • Labs: creating and administering cores

VIII. SolrCloud

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

IX. Developing with Solr API

  • Talking to Solr through REST
  • Configuration
  • Indexing and searching
  • Solr and Spring
  • Labs: code to read and write Solr index, exercise in Spring with Solr

X. Developing with Lucene API

  • Building a Lucene index
  • Searching, viewing, debugging
  • Extracting text with Tika
  • Scaling Lucene indices on clusters
  • Lucene performance tuning
  • Labs: coding with Lucene

XI. Conclusion

  • Other approaches to search
    • ElasticSearch
    • DataStax Enterprise: Solr+Cassandra
    • Cloudera Solr integration
    • Blur
  • Future directions
Sites Published:

United Arab Emirates - Solr for Developers

Qatar - Solr for Developers

Egypt - Solr for Developers

Saudi Arabia - Solr for Developers

South Africa - Solr for Developers

Brasil - Solr para Desenvolvedores

Canada - Solr for Developers

中国 - Solr for Developers

香港 - Solr for Developers

澳門 - Solr for Developers

台灣 - Solr for Developers

USA - Solr for Developers

Österreich - Solr for Developers

Schweiz - Solr for Developers

Deutschland - Solr for Developers

Czech Republic - Solr for Developers

Denmark - Solr for Developers

Estonia - Solr for Developers

Finland - Solr for Developers

Greece - Solr for Developers

Magyarország - Solr for Developers

Ireland - Solr for Developers

Luxembourg - Solr for Developers

Latvia - Solr for Developers

España - Solr para Desarrolladores

Italia - Solr for Developers

Lithuania - Solr for Developers

Nederland - Solr for Developers

Norway - Solr for Developers

Portugal - Solr para Desenvolvedores

România - Solr for Developers

Sverige - Solr for Developers

Türkiye - Solr for Developers

Malta - Solr for Developers

Belgique - Solr pour Développeurs

France - Solr pour Développeurs

日本 - Solr for Developers

Australia - Solr for Developers

Malaysia - Solr for Developers

New Zealand - Solr for Developers

Philippines - Solr for Developers

Singapore - Solr for Developers

Thailand - Solr for Developers

Vietnam - Solr for Developers

India - Solr for Developers

Argentina - Solr para Desarrolladores

Chile - Solr para Desarrolladores

Costa Rica - Solr para Desarrolladores

Ecuador - Solr para Desarrolladores

Guatemala - Solr para Desarrolladores

Colombia - Solr para Desarrolladores

México - Solr para Desarrolladores

Panama - Solr para Desarrolladores

Peru - Solr para Desarrolladores

Uruguay - Solr para Desarrolladores

Venezuela - Solr para Desarrolladores

Polska - Solr for Developers

United Kingdom - Solr for Developers

South Korea - Solr for Developers

Pakistan - Solr for Developers

Sri Lanka - Solr for Developers

Bulgaria - Solr for Developers

Bolivia - Solr para Desarrolladores

Indonesia - Solr for Developers

Kazakhstan - Solr for Developers

Moldova - Solr for Developers

Morocco - Solr for Developers

Tunisia - Solr for Developers

Kuwait - Solr for Developers

Oman - Solr for Developers

Slovakia - Solr for Developers

Kenya - Solr for Developers

Nigeria - Solr for Developers

Botswana - Solr for Developers

Slovenia - Solr for Developers

Croatia - Solr for Developers

Serbia - Solr for Developers

Bhutan - Solr for Developers

Nepal - Solr for Developers

Uzbekistan - Solr for Developers