我有一个使用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中不受支持 - 如果您考虑未来的升级。 –
你说得对,但如何升级?这是我的主要问题。 –