2011-09-30 72 views
0

我有,我想合併三個Solr的3.4.0索引,搜索,我發現有兩種方法可以做到這一點後:合併Solr的3.4.0索引使用Lucene合併工具

  1. 使用Lucene合併工具。
  2. 通過核心管理合並

我使用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 

但不幸的是它給了我以下異常:

Exception in thread "Main Thread" java.lang.NoClassDefFoundError:

org/apache/lucene/misc/IndexMergeTool

任何人可以幫助我和這個?

回答

0

我通過在net beans 7.1中創建一個新的java應用程序並將這兩個jar文件添加爲庫來解決了這個特殊問題。和我的新應用程序的主要方法裏面我已經叫

IndexMergeTool.main

,並通過所有的命令行參數,以上述方法。

問候 阿赫桑

1

幾件事情: -

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

你是從正確的目錄運行它爲它找到罐子。爲什麼不使用完整路徑?

您正在使用:(冒號)作爲jar classpath分隔符,並使用它應該是的窗口; (分號)

另外 - 如果您已經有Solr與Solr索引一起運行,我建議您使用第二個選項 - 通過Solr Admin進行合併。
這對於直接http接口來說更容易使用,沒有任何額外的開銷,並且可以開箱即用。

+0

感謝名單爲您的寶貴迴應,我已經試過了烏拉圭回合的解決方案,但現在的錯誤當屬例外在線程「主線」 java.lang.NoClassDefFoundError:./NewIndex –

+0

爲什麼找NewIndex作爲一個類。在jar和類名之間有一個空格,例如java -cp d:/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/index – Jayendra

+0

是的,我已經給IndexMergeTool和./newindex –