If you need to combine indexes from two different projects or from multiple servers previously used in a distributed configuration, you can use either the IndexMergeTool included in
lucene-misc or the
To merge indexes, they must meet these requirements:
The two indexes must be compatible: their schemas should include the same fields and they should analyze fields the same way.
The indexes must not include duplicate data.
Optimally, the two indexes should be built using the same schema.
To merge the indexes, do the following:
- Make sure that both indexes you want to merge are closed.
Issue this command:
java -cp $SOLR/server/solr-webapp/webapp/WEB-INF/lib/lucene-core-VERSION.jar:$SOLR/server/solr-webapp/webapp/WEB-INF/lib/lucene-misc-VERSION.jar org/apache/lucene/misc/IndexMergeTool /path/to/newindex /path/to/old/index1 /path/to/old/index2
This will create a new index at
/path/to/newindexthat contains both index1 and index2.
- Copy this new directory to the location of your application’s Solr index (move the old one aside first, of course) and start Solr.
MERGEINDEXES command of the CoreAdminHandler can be used to merge indexes into a new core – either from one or more arbitrary
indexDir directories or by merging from one or more existing
srcCore core names.
See the CoreAdminHandler section for details.