Learning Solr comprehensively

A question was asked on the Solr Users mailing list on how to assess a comprehensive list of Solr features. It is an interesting question, as Solr is like a balloon being blown up. It is expanding in all directions. It is unlikely that one person will be able to comprehend all the features before the next release adds some extra. Solr is definitely not a slow tortoise when it comes to competing with hares. Especially when it is the tortoise that decides in which direction the goal lies.

Still, there must be a way to approach that state of knowledge, however asymptotically.  Here would be mine, which comes from the practice of writing a Solr book as well as numerous Solr training materials.

  1. Do the Solr Quick Start tutorial that will give an introduction to Solr
  2. Read every line of every configuration file that comes with every Solr example out of the box. And make sure sure to read every one of those six examples. These examples use most of the features, including those the general audience probably does not yet (e.g. useParams with REST-driven overrides in params.json). Research any unfamiliar features in the Reference Guide, Wiki, and - as last resort - JIRA issue tracker and source code for the specific version.
  3. Review the comprehensive lists of components, where available. I track UpdateRequestProcessors, Analyzers and searchable Lucene/Solr Javadocs on my solr-start resource website.
  4. Read the rest of the Reference Guide. It is large and nearly comprehensive.
  5. Read the changes file that comes with every Solr release in the docs/changes directory and on the web. Make sure to follow the links to the Lucene’s set of changes as well. Read it as far back as the time allows, but the last 2-3 releases would most likely have features not yet covered by the Reference Guide.
  6. In parallel, if money is not an issue, buy a comprehensive book on the topic. I recommend Solr in Action. I also recommend an electronic version of the book, unless physical exercise is another project on your list of todos.

And while this is still happening (and I, myself, am not done with that process yet), a new release of Solr will come out.  At which point, the Sisyphean boulder-pushing task restarts and reading the latest version of the Changes file is probably the best way to know what is the new direction tortoise is now charging towards, whether it is improved usability with completely rewritten startup procedures, REST-driven configurations, new Admin UI, or a distributed streaming aggregation framework with SQL front-end. You can also subscribe to the Solr Start news and updates to learn about cool interesting articles and resources on the web related to Solr.

P.s. I apologize for the over-abuse of metaphors, I am right in the middle of creating Solr training material and this issue above is very dear to my heart.