Solr Modules

Solr modules are addon Solr plugins that are not part of solr-core, but officially maintained by the Solr project. They provide well-defined features such as the "extracting" module which lets users index rich text documents with Apache Tika. A single module can contain multiple Plugins. Modules were earlier known as "contribs".

Each module produces a separate .jar file in the build, and additional dependencies required by each module are also packaged with the module. This helps keep the main core of Solr small and lean.

Installing a module

The easiest way to enable a module is to list the modules you intend to use either in the system property solr.modules or in the environment variable SOLR_MODULES (e.g. in solr.in.sh or solr.in.cmd). You can also add a <str name="modules"> tag to solr.xml. The expected value is a comma separated list of module names, e.g. SOLR_MODULES=extracting,ltr. This way of adding modules will add them to the shared class loader, making them available for every collection in Solr.

You can also specify the modules when using the Solr CLI to start Solr:

bin/solr start -e techproducts -Dsolr.modules=scripting

If you only wish to enable a module for a single collection, you may add <lib> tags to solrconfig.xml as explained in Lib Directories.

Some modules may have been made available as packages for the Package Manager, check by listing available packages.