我正在尝试将 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] 或格式为“VV”的字符串
我已经像这样添加到 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。
请帮忙。我是新手。
灵
更新:
该项目的另一部分是在进入 Solr 阶段之前提供 lucene-core-3.5.0.jar。所以依赖层次结构会发生冲突,它将使用 3.5.0 代替,这就是它自动下载它的原因。
只需简单地排除 3.5.0,一切都很好。
谢谢!问题解决了!