Building distributed search applications using Apache SOLR
The objective of this workshop is to introduce attendees with most common features of a search application and how to implement them using Apache Solr. The workshop will also cover how to scale the application by leveraging SolrCloud.
We will see the performance factors which should be kept in mind while desinging your application using Solr and if time permits, without going into ElasticSearch details, I will share the differences between Solr and ElasticSearch.
For the workshop, we will index and search data from 'StackExchange' sites using dumps available here and build backend for following demo application: saumitra.me/solrdemo/. (Tested only on Chrome and Firefox).
- What is Solr? Use cases and architecture
- Solr schema, config, tokenizers and filters
- Indexing data:
- From disk using SolrJ
- Importing from database(MySQL) with DataImport Handler
- Querying Solr (Filters, Faceting, highlighting, sorting, grouping, boosting, range, function and fuzzy queries)
- Adding 'Auto Suggest' component to auto complete user queries
- Using 'Clustering' component to cluster similar results.
- Setting up a multinode cluster with Zookeeper
- Creating a distributed index
- Collections API
- Solr Admin UI
Workshop will be delivered using a virtual image. You need to have VirtualBox installed to import the image. Download OS specific version of VirtualBox from https://www.virtualbox.org/wiki/Downloads.
Try to bring laptop with at least 4 GB RAM. Operating system MUST be 64 bit. Participant should have basic Java knowledge.