STEP-1 - Configuration, Repository, Derived Queries

Initial project setup including all required components to bootstrap the
application and set up a basic search box using SolrCrudRepository.
STEP-2 - Custom Repository Implementation

Extend SolrRepository by custom implementation. Use Solr Faceting
capablities to provide autocomple for search box. Extend the application
by jquery autocomplete and return application/json using Spring MVC json
support via ResponseBody.
STEP-3 - Use Facet Annotation for autocomplete

Use Solr specific Facet annotation to simplify code for autocomplete.
Custom Implementation can be removed, while method signature moves to
SolrRepository.
STEP-4 - Use Highlight Annotation to mark keywords

Using Highlight annotation to accentuate search input in result
documents. Highlighting options can be configured via various annotation
attribtes. By default all document fields will be target for
highlighting.
STEP-5 - Make use of MappingSolrConverter for specific data types

MappingSolrConverter allows usage of custom datatypes. It ships with
converters for jodatime and other types such as GeoLocation.
STEP-6 - Enable multicore support.

Multicore support allows much simpler configuration as the required templates are set up automatically using the information provided in the entities @Document annotation.