2017-05-15 103 views
1

我是新來的lucene,並試圖重新索引lucene 2.4.1索引到lucene 6.2.1索引。Lucene 2.4.1索引被重新索引與lucene 6.2.1

我碰到過各種論壇,並且知道通過lucene中的IndexUpgrader實用程序是可行的,但是這裏的關注點是 - 我不能直接將lucene 2.4.1索引轉換爲lucene 6.2.1索引。

我需要將索引升級到lucene 3.x.x和lucene 4.x.x等等。

很想知道是否有其他選擇。

請求你們所有的人都幫助我。除非少數開發商認證

感謝, 阿布舍克

回答

0

我想,比IndexUpgrader其他的東西就不會那麼可靠。

我不知道有任何其他工具,但你可以做的是 - 爲你的目標環境(shell/bash/batch等)編寫一個腳本,它使用這個工具來一次升級你的索引,而不是你發射多個手動命令如果這太多任務或手動命令不是一個選項。

你也可以編寫自己的Java類/實用程序來一次升級,因爲你可以使用ProcessBuilder或類似的東西從類中激發java命令,或者你可以在各種IndexUpgraders上調用upgrade()方法。

下面是一個簡單的bash腳本,您可以測試和調整您的需求 - 在所有你將不得不寫這個工具的一種包裝,爲你自己需要的自動化過程upgradeindex.sh

所有。

參考 - https://cwiki.apache.org/confluence/display/solr/IndexUpgrader+Tool

+0

感謝回答薩比爾,一個問題在同一個Lucene的升級方案: 如何驗證重新索引數據的正確性?如何確保所有索引是否已從lucene 2.4.1正確轉換爲lucene 6.2.1,還有哪些lucene jar需要重新索引?有許多版本的jar for lucene 3.x,lucene 4.x等等。 – Abhishek

+0

我不太確定驗證部分,作爲預防措施,您應該始終備份。可能你可以使用[This CheckIndex class]的checkIndex()方法(https://lucene.apache.org/core/6_2_1/core/org/apache/lucene/index/CheckIndex.html) –

+0

我想,因爲你正在按順序逐一升級命令,您將需要針對您正在升級的所有版本的核心和後向編解碼器罐。 –