使用lucene Merge Tool合并Solr 3.4.0索引

时间:2011-09-30 06:51:28

标签: lucene solr

我想要合并三个solr 3.4.0索引,搜索后我发现有两种方法可以实现:

  1. 使用Lucene Merge工具。
  2. 通过核心管理员合并
  3. 我正在使用lucene 3.4.0并运行以下命令:

    java -cp d:/lucene/lucene-core-3.4.0.jar:./contrib/misc/lucene-misc-3.4.0.jarorg/apache/lucene/misc/IndexMergeTool ./newindex ./app1/solr/data/index ./app2/solr/data/index
    

    但不幸的是它给了我以下例外:

      

    线程“主线程”中的异常java.lang.NoClassDefFoundError:

         

    组织/阿帕奇/ lucene的/杂项/ IndexMergeTool

    有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

一些事情: -

./contrib/misc/lucene-misc-3.4.0.jar

您是否从正确的目录运行它以找到jar。为什么不使用完整路径?

你正在使用:(冒号)作为jar类路径分隔符,并且应该使用windows; (分号)

另外 - 如果已经准备好Solr索引运行Solr,我建议您使用第二个选项 - 通过Solr Admin合并。
这更容易使用直接的http接口,没有任何额外的开销,并且可以开箱即用。

答案 1 :(得分:0)

我通过在net beans 7.1中创建一个新的java应用程序并将jar文件添加为库来解决这个特殊问题。在我的新应用程序的主要方法中,我已经调用了

IndexMergeTool.main

并将所有命令行参数传递给上述方法。

此致 阿赫桑