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, packaged in the module’s lib/
directory.
All additional dependencies required by the module, and not provided by Solr core, are also packaged there.
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 your
solr.xml. The expected value is a comma separated list
of module names, e.g. SOLR_MODULES=extracting,ltr
. This will make the functionality of configured Modules
available to every collection in Solr.
You can also specify the modules to include 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 certain collections, you may add <lib> tags to solrconfig.xml in applicable configset(s).
as explained in Lib Directories.
Collection-level plugins will work if the module is enabled either per collection (<lib> ) or for the whole Solr node.
Node-level plugins such as those specified in solr.xml will not work when using the <lib> option in solrconfig.xml because configsets configure collections, not the node. They must be enabled for the entire Solr node, as described above.
|
Some modules may have been made available as packages for the Package Manager, check by listing available packages.