我想要合并三个solr 3.4.0索引,搜索后我发现有两种方法可以实现:
我正在使用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
有人可以帮我吗?
答案 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
并将所有命令行参数传递给上述方法。
此致 阿赫桑