使用lucene合并工具合并Solr 3.4.0索引

使用lucene合并工具合并Solr 3.4.0索引,lucene,solr,Lucene,Solr,我有三个要合并的solr 3.4.0索引,搜索后发现有两种方法: 使用Lucene合并工具 通过核心管理进行合并 我正在使用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/i

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

  • 使用Lucene合并工具
  • 通过核心管理进行合并
  • 我正在使用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中出现异常:

    org/apache/lucene/misc/IndexMergeTool

    有人能帮我做这件事吗?

    两件事:-

    ./contrib/misc/lucene-misc-3.4.0.jar
    
    您是否从正确的目录运行它,以便找到jar。为什么不使用完整路径

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

    此外— 如果您已经在Solr索引就绪的情况下运行Solr,我建议您使用第二个选项-通过Solr Admin进行合并。

    使用direct http接口更容易使用,无需任何额外开销,而且可以开箱即用。

    我在NetBeans 7.1中创建了一个新的java应用程序,并将两个jar文件都添加为库,从而解决了这个特殊问题。在我的新应用程序的主方法中,我调用了

    IndexMergeTool.main

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

    问候
    Ahsan

    thanx对于您宝贵的响应,我已经尝试了您的解决方案,但现在该错误作为线程“Main thread”java.lang.NoClassDefFoundError:./NewIndex为什么要将NewIndex作为一个类来查找。在jar和类名之间留一个空格,例如java-cpd:/lucene/lucene-core-3.4.0.jar/contrib/misc/lucene-misc-3.4.0.jar org/apache/lucene/misc/IndexMergeTool./newindex./app1/solr/data/index./app2/solr/data/indexyeah我已经在IndexMergeTool和./newindexh之间指定了空间,没有出现相同的异常