2

我正在尝试将 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,一切都很好。

谢谢!问题解决了!

4

1 回答 1

2

更改solrconfig.xml为“LUCENE_CURRENT”可能是正确的做法。

于 2015-03-29T13:24:30.843 回答