Solr中无法使用ICUTokenizerFactory(Can not use ICUTokeni

2019-07-19 00:20发布

我想在Solr模式使用ICUTokenizerFactory。 这就是我所定义的fieldfieldType

<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然后请建议可能是什么问题。

Answer 1:

从维基:

Lucene提供了分析,额外的contrib模块分割这些语言的音节与solr.ICUTokenizerFactory支持。 要使用此标记生成器,看到的Solr /的contrib /分析,演员/ README.txt中的说明,这罐子你需要添加到您的SOLR_HOME / lib目录



Answer 2:

在您的solrconfig.xml中的顶部添加此:

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

这是假设你是从例如目录与solr.solr.home设置为您的实例中运行。 否则,只需要使用绝对路径到你的Solr的安装。

您也可以复制所有这些罐子到lib目录(你的核心,而不是Solr的主下)。 但是,上面是一个简单的方法。



文章来源: Can not use ICUTokenizerFactory in Solr