使用lucene合并工具合并Solr 3.4.0索引
我有三个要合并的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
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 并将所有命令行参数传递给上述方法 问候
Ahsanthanx对于您宝贵的响应,我已经尝试了您的解决方案,但现在该错误作为线程“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之间指定了空间,没有出现相同的异常