4

Solr スキーマで ICUTokenizerFactory を使用しようとしています。これが私が と を定義fieldした方法fieldTypeです。

<fieldType name="text_icu" class="solr.TextField" positionIncrementGap="100">
    <analyzer>
        <tokenizer class="solr.ICUTokenizerFactory"/>
    </analyzer>
</fieldType>

<field name="fld_icu" type="text_icu" indexed="true" stored="true"/>

そして、Solrを起動すると、このエラーが発生します

Plugin init failure for [schema.xml] fieldType "text_icu": Plugin init failure for [schema.xml] analyzer/tokenizer: Error loading class 'solr.ICUTokenizerFactory'

私はそれを検索しましたが、成功しませんでした。何かが足りないのか、スキーマに問題があるのか​​ わかりません。誰かが ICUTokenizerFactory を試したことがあれば、何が問題なのか教えてください。

4

2 に答える 2

11

これを solrconfig.xml の先頭に追加します。

<config>
  <lib dir="${user.dir}/../contrib/analysis-extras/lucene-libs/" />
  <lib dir="${user.dir}/../contrib/analysis-extras/lib/" />

これは、solr.solr.home がインスタンスに設定されたサンプル ディレクトリから実行していることを前提としています。それ以外の場合は、Solr インストールへの絶対パスを使用してください。

これらすべての jar を lib ディレクトリ (solr ホームではなくコアの下) にコピーすることもできます。しかし、上記はより簡単な方法です。

于 2013-01-30T13:38:10.247 に答える
8

ウィキから:

Lucene は、analysis-extras contrib モジュールの solr.ICUTokenizerFactory を使用して、これらの言語を音節に分割するためのサポートを提供します。このトークナイザーを使用するには、solr/contrib/analysis-extras/README.txt を参照して、SOLR_HOME/lib に追加する必要がある jar の手順を確認してください。

于 2013-01-30T12:04:46.397 に答える