What Solr 9 Removed and What Only Moved to Modules

Account Resources

Solr 9 reorganised the old contribs into modules and removed a few components for good. Telling the two apart is what decides whether an old configuration needs a switch or a rewrite.

Solr 9 reorganised the old contribs into modules: separate jars, in their own directories, switched on by name. A component that became a module is still shipped, still maintained, and still supported. It simply is not on the classpath until you say so. Confusing a move with a deletion is the most common error in Solr 9 upgrade write-ups.

A module is switched on by name in the Solr environment file of the server (SOLR_MODULES), and declared in solrconfig.xml where it needs a request handler.

ComponentStatus in Solr 9What to do
XSLTResponseWriterShipped, moved to the scripting moduleEnable the scripting module, or return JSON and transform client-side
Script update processorShipped, renamed ScriptUpdateProcessorFactory in scriptingRename the class and enable the module
JWT and Hadoop authShipped, as the jwt-auth and hadoop-auth modulesEnable the module. Short class names still resolve
SQL, LTR, langid, HDFSShipped, as modulesEnable by name. No configuration changes needed
Data Import HandlerRemoved from Solr, now a separate community projectPush documents with the update API, or use our Drupal modules, WordPress plugin or the Web Crawler
VelocityResponseWriterRemoved, including /browse and wt=velocityRender results in your own application, or use a hosted search page
LRUCache, FastLRUCache, LFUCacheRemoved from the jarDrop the class attribute. CaffeineCache is the only implementation left
Cross Data Center ReplicationRemovedIndex into each environment, or replicate at the infrastructure layer
Autoscaling frameworkRemovedUse Replica Placement Plugins
maxShardsPerNodeRemovedUse a placement strategy instead
SimpleFSDirectoryFactoryRemovedSwitch to NIOFSDirectoryFactory
LegacyBM25SimilarityFactoryRemovedUse BM25SimilarityFactory and retune if scores shift
clusterstate.jsonNo longer readMigrate the state format while still on Solr 8

Solr 9

What Solr 9 removed and what only moved (this page)