我正在尝试将 Solr 3.6.2 集成到我的项目中,我使用 Maven 和 Tomcat 来运行这些东西。
当我使用 HttpSolrServer 时一切都很好,但是当我更改为 EmbeddedSolrServer 时,它会出现这样的错误
错误:org.apache.solr.core.CoreContainer - org.apache.solr.common.SolrException:无效的luceneMatchVersion'LUCENE_36',有效值为:[LUCENE_20,LUCENE_21,LUCENE_22,LUCENE_23,LUCENE_24,LUCENE_29,LUCENE_30,LUCENE_31, LUCENE_32 , LUCENE_33, LUCENE_34, LUCENE_35, LUCENE_CURRENT] 或格式为 'V.V' 的字符串
我已经像这样添加到 Maven 依赖项中
<dependency>
<artifactId>solr-solrj</artifactId>
<groupId>org.apache.solr</groupId>
<version>3.6.2</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<artifactId>solr-core</artifactId>
<groupId>org.apache.solr</groupId>
<version>3.6.2</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
当我检查构建路径并转到库时,Maven 似乎自动下载了以下内容:
lucene-core-3.5.0.jar
我尝试在 Solrconfig.xml 中将其更改为 LUCENE_35 和 LUCENE_CURRENT 但出现另一个错误。
似乎安装文件中已硬编码了某些内容,并且它自动下载了 3.5 而不是 3.6.2。但是当我检查其他模块(如 solr-core 或 lucene-misc、lucene-phonetic 等)时...它们仍然是 3.6.2,但只有 lucene-core。
请帮忙。我对此很陌生。
Linh
UPDATE:
该项目的另一部分是在进入 Solr 阶段之前提供 lucene-core-3.5.0.jar。因此,依赖关系层次结构将发生冲突,它将使用 3.5.0 代替,这就是它自动下载该版本的原因。
只需简单地排除 3.5.0 即可,一切正常。
谢谢你!问题解决了!
改变solrconfig.xml
到“LUCENE_CURRENT”可能是正确的做法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)