我有一個使用apache solr 1.4的現有索引版本。升級solr 1.4索引到solr 3.3?
我想在版本3.3中使用這個現有的索引。如你所知,索引格式在3.x之後被改變了,那麼怎麼做呢?
我已經使用盧克導出了現有的索引(即1.4版本)到XML。
我有一個使用apache solr 1.4的現有索引版本。升級solr 1.4索引到solr 3.3?
我想在版本3.3中使用這個現有的索引。如你所知,索引格式在3.x之後被改變了,那麼怎麼做呢?
我已經使用盧克導出了現有的索引(即1.4版本)到XML。
有兩種方法可以做到這一點:
如果你的指數是未優化,然後簡單地對其進行優化 - 這將沿途的升級文件格式。
如果您的索引已經優化,則不能這樣做。相反,使用使用Solr提供的命令行工具(你的路徑可能會有所不同,從礦山
java -cp work/Jetty_0_0_0_0_8983_solr.war__solr__k1kf17/webapp/WEB-INF/lib/lucene-core-3.3.0.jar org.apache.lucene.index.IndexUpgrader -verbose /path/to/index/directory
但是請注意,這只是改變了文件格式 - 它不會停止廢棄警告,因爲除非你告訴它否則,solrconfig.xml中默認還是假設你使用的是舊索引格式見http://www.mail-archive.com/[email protected]/msg23233.html
你仍然可以得到許多線像這樣在你的日誌文件:
WARNING: LowerCaseFilterFactory is using deprecated LUCENE_24 emulation. You should at some point declare and reindex to at least 3.0, because 2.x emulation is deprecated and will be removed in 4.0
,直到您告訴solrconfig.xml您已準備好使用新索引格式的所有功能。您可以通過將以下內容添加到solrconfig.xml中(位於頂層,緊接在abortOnConfigurationError設置之後)。
<!-- Controls what version of Lucene various components of Solr
adhere to. Generally, you want to use the latest version to
get all bug fixes and improvements. It is highly recommended
that you fully re-index after changing this setting as it can
affect both how text is indexed and queried.
-->
<luceneMatchVersion>LUCENE_33</luceneMatchVersion>
如果您有數據:最好的方法是索引solr 3.3中新增的所有數據。012,您可以使用數據導入處理程序來索引導出的XML文件。
如果建立一個新的指數是不適合你的解決方案,你有不同的可能性:
據我所知,Solr的3.3可以讀取舊索引。 所以一個想法可能是使用碎片。舊數據的一個碎片(只讀)和新數據的另一個碎片。不幸的是,在這個解決方案中,你將無法修改舊數據。
1.I複製舊schema.xml中(1.4 V)到 2.我複製了舊索引到新索引目錄3.3並重新啓動服務器,新服務器(3.3),一切都很好! 奇怪的是,我在3.3版本的註釋中看到,新的索引結構與舊的索引結構不兼容......無論如何,我很高興事情進行得很順利:) –
「新索引結構是與舊的不兼容「......是的......我想,這是正確的。但我認爲,你的3.3系統運行的時候就像「兼容模式」,並且不使用新的索引格式。很可能,您的索引仍然是1.4,這在lucene 4中不受支持 - 如果您考慮未來的升級。 –
你說得對,但如何升級?這是我的主要問題。 –