Differences between revisions 5 and 6
Revision 5 as of 2009-06-11 06:24:39
Size: 2492
Editor: NoblePaul
Comment: formatting
Revision 6 as of 2009-07-06 02:03:08
Size: 2502
Editor: HossMan
Comment:
Deletions are marked like this. Additions are marked like this.
Line 26: Line 26:
Another way is to use the IndexMergeTool that comes as part of lucene-misc. In order to do this: Another way is to use the !IndexMergeTool that comes as part of lucene-misc. In order to do this:
Line 29: Line 29:
 2. Download a copy of lucene from http://www.apache.org/dyn/closer.cgi/lucene/java/ and unpack it. The file you're interested in is contrib/misc/lucene-misc-VERSION.jar
 3. Make sure both indexes you want to merge are closed.
 4. Issue this command: java -cp /path/to/lucene-core-VERSION.jar:/path/to/lucene-misc-VERSION.jar org/apache/lucene/misc/IndexMergeTool /path/to/newindex /path/to/index1 /path/to/index2

This will create a new index at /path/to/newindex that 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.
 1. Download a copy of lucene from http://www.apache.org/dyn/closer.cgi/lucene/java/ and unpack it. The file you're interested in is contrib/misc/lucene-misc-VERSION.jar
 1. Make sure both indexes you want to merge are closed.
 1. Issue this command: {{{java -cp /path/to/lucene-core-VERSION.jar:/path/to/lucene-misc-VERSION.jar org/apache/lucene/misc/IndexMergeTool /path/to/newindex /path/to/index1 /path/to/index2}}}
 This will create a new index at {{{/path/to/newindex}}} that 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.
Line 37: Line 36:
java -cp /tmp/lucene-core-2007-05-20_00-04-53.jar:./lucene-2.2.0/contrib/misc/lucene-misc-2.2.0.jar org/apache/lucene/misc/IndexMergeTool ./newindex ./app1/solr/data/index ./app2/solr/data/index java -cp /tmp/lucene-core-2007-05-20_00-04-53.jar:./lucene-2.2.0/contrib/misc/lucene-misc-2.2.0.jarorg/apache/lucene/misc/IndexMergeTool ./newindex ./app1/solr/data/index ./app2/solr/data/index

Merging Solr Indexes

Sometimes you have more than one Solr index and you want to merge them together into a single index.

TableOfContents(3)

Merging Through CoreAdmin

<!> ["Solr1.4"]

CoreAdminHandler now supports merging one or more indexes into another index (since Solr 1.4).

http://localhost:8983/solr/admin?action=mergeindexes&core=core0&indexDir=/opt/solr/core1/data/index&indexDir=/opt/solr/core2/data/index

The above command will merge the indexes of core1 and core2 into core0. Before executing this command, one must make sure to call commit on core1 and core2 (in order to close IndexWriter) and no writes should happen on core1 and core2 until the merge command completes. Failure to do so may corrupt the core0 index.

Once the merge is completed, a commit should be called on core0 to make the changes visible to searchers.

Merging Through Lucene IndexMergeTool

Another way is to use the IndexMergeTool that comes as part of lucene-misc. In order to do this:

  1. Find the lucene jar file that your version of solr is using. You can do this by copying your solr.war file somewhere and unpacking it (jar xvf solr.war). Your lucene jar file should be in WEB-INF/lib. It is probably called something like lucene-core-2007-05-20_00-04-53.jar. Copy it somewhere easy to find.
  2. Download a copy of lucene from http://www.apache.org/dyn/closer.cgi/lucene/java/ and unpack it. The file you're interested in is contrib/misc/lucene-misc-VERSION.jar

  3. Make sure both indexes you want to merge are closed.
  4. Issue this command: java -cp /path/to/lucene-core-VERSION.jar:/path/to/lucene-misc-VERSION.jar org/apache/lucene/misc/IndexMergeTool /path/to/newindex /path/to/index1 /path/to/index2 This will create a new index at /path/to/newindex that 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.

Example

java -cp /tmp/lucene-core-2007-05-20_00-04-53.jar:./lucene-2.2.0/contrib/misc/lucene-misc-2.2.0.jarorg/apache/lucene/misc/IndexMergeTool ./newindex ./app1/solr/data/index ./app2/solr/data/index

MergingSolrIndexes (last edited 2012-08-15 04:21:03 by cpe-68-175-0-233)