
In this way, you keep consistency with the old index X and continue to index live new documents minimizing surprises at least for backward compatibility until you can afford to re-index.Īs soon as possible you should proceed upgrading the luceneMatchVersion to X+1 and run a re-indexing. When upgrading a Solr instance from version X to X+1, it is a good idea to deploy the new version with the X. When upgrading your Apache Solr instance to X+1 version, if you want to keep the same logic as an old Lucene version X, to keep consistency with the text analysis chains you were using, it is a good idea to set such version X in the luceneMatchVersion. The luceneMatchVersion parameter is primarily a tool to ensure consistent indexing and query behavior through an upgrade.Ī new release could introduce a different behavior for the text analysis chain of certain field types(tokenizers, token filters ect.).Ī bug in a tokenizer could be fixed or simply the way a token filter was working could be changed. The luceneMatchVersion is part of various conditional checks in the Solr code, that may change some component behaviours, let’s see them in details. Solr 8.8.1 using Lucene 8.8.1 always builds Lucene 8.8.1 indexes independently of the luceneMatchVersion. That is not what happens, Apache Solr version X will always build an Apache Lucene index coupled with the internal library version included in Solr. If you set an unsupported luceneMatchVersion you’ll find the warning in the logs:Ĩ.8.1 with 6.6.5 6.6.5 Y in an Apache Solr version X, will make Solr use a Y Lucene Indexing format(using the Y codec and Y data structures).


given an Apache Solr release using a specific Apache Lucene version, the supported values for the luceneMatchVersion are back to the major release number version -1Īpache Solr 8.8.1 uses Apache Lucene 8.8.1 and supports a luceneMatchVersion back to 7.0Īpache Solr 7.5 uses Apache Lucene 7.5 and supports a luceneMatchVersion back to 6.0 The list of supported versions associated to a Lucene release are listed in this class: .Version LATEST, LUCENE_CURRENT -> both map to the exact Apache Lucene release included in the Apache Solr binaries.So given that an Apache Solr version is coupled with an exact Apache Lucene version, what’s the meaning and usage of the luceneMatchVersion configuration? Supported Values after the Apache Lucene and Solr split of the, versions may not be aligned in the future i.e. You can find such libraries under: …/solr-8.8.1/server/solr-webapp/webapp/WEB-INF/lib The luceneMatchVersion parameter in the Apache Solr solrconfig.xml specifies a reference Apache Lucene version to use to affect some of the internal components.Īpache Solr uses Apache Lucene as an internal library, the binaries of an Apache Solr release are coupled with a specific versioned Lucene library.Īpache Solr 8.8.1 release uses Apache Lucene 8.8.1 libraries
