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:
- Find the lucene-core and lucene-misc JAR files that your version of Solr is using. You can do this by copying your
solr.warfile somewhere and unpacking it (
jar xvf solr.war). These two JAR files should be in
WEB-INF/lib. They are probably called something like
- Copy them somewhere easy to find.
- Make sure that both indexes you want to merge are closed.
Issue this command:
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.