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、2 LUCENE_3 、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 がこれを自動的にダウンロードしたようです。
ルセンコア-3.5.0.jar
Solrconfig.xml で LUCENE_35 と LUCENE_CURRENT に変更しようとしましたが、別のエラーが発生します。
インストール ファイルに何かがハードコードされているようで、3.6.2 ではなく 3.5 が自動的にダウンロードされます。しかし、solr-core や lucene-misc、lucene-phonetic などの他のモジュールをチェックすると、まだ 3.6.2 ですが、lucene-core だけです。
助けてください。私はこれが初めてです。
リン
アップデート:
プロジェクトには、Solr フェーズに入る前に lucene-core-3.5.0.jar を提供する別の部分があります。したがって、依存関係の階層が競合し、代わりに 3.5.0 が使用されるため、自動的にダウンロードされます。
単純に 3.5.0 を除外するだけで、すべて問題ありません。
ありがとうございました!問題が解決しました!