安装对solr 5.2的简体中文支持

时间:2018-09-04 13:41:37

标签: solr

我正在尝试在Solr核心上添加对简体中文的支持。我尝试将以下内容添加到我的schema.xml文件中:

<fieldType name="text_zh" class="solr.TextField" positionIncrementGap="100">
    <analyzer class="org.apache.lucene.analysis.cn.smart.SmartChineseAnalyzer"/>
</fieldType>

重新加载内核时出现以下错误:

  

yirmi:   org.apache.solr.common.SolrException:org.apache.solr.common.SolrException:   无法为核心yirmi加载conf:插件初始化失败   [schema.xml] fieldType“ text_zh”:无法加载分析器:   org.apache.lucene.analysis.cn.smart.SmartChineseAnalyzer。模式文件   是/var/solr/data/yirmi/conf/schema.xml solr:   org.apache.solr.common.SolrException:org.apache.solr.common.SolrException:   无法为核心solr加载conf:从加载solr config时出错   /var/solr/data/solr/conf/solrconfig.xml

当我尝试

<fieldType name="text_zh" class="solr.TextField" positionIncrementGap="100">
    <!--<analyzer class="org.apache.lucene.analysis.cn.smart.SmartChineseAnalyzer"/>-->
    <analyzer>
        <tokenizer class="solr.HMMChineseTokenizerFactory"/>
        <filter class="solr.CJKWidthFilterFactory"/>
        <filter class="solr.StopFilterFactory"
                words="org/apache/lucene/analysis/cn/smart/stopwords.txt"/>
        <filter class="solr.PorterStemFilterFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
    </analyzer>
</fieldType>

加载代码时出现以下错误:

yirmi: org.apache.solr.common.SolrException:org.apache.solr.common.SolrException:
     

无法为核心yirmi加载conf:插件初始化失败   [schema.xml] fieldType“ text_zh”:[schema.xml]的插件初始化失败   分析器/令牌器:错误加载类   'solr.HMMChineseTokenizerFactory'。架构文件为   /var/solr/data/yirmi/conf/schema.xml       solr:org.apache.solr.common.SolrException:org.apache.solr.common.SolrException:   无法为核心solr加载conf:从加载solr config时出错   /var/solr/data/solr/conf/solrconfig.xml

如何安装必要的插件以使schema.xml中的更改生效?

1 个答案:

答案 0 :(得分:1)

首先,请确保已添加库文件(lucene-analyzers-smartcn-x.y.z.jar中的contrib\analysis-extras\lucene-libs文件)to your lib statement in solrconfig.xml

Solr的启动日志应显示正在加载的库文件。

如果出现错误

  

创建SolrCore'yirmi'时出错:无法创建核心[yirmi]原因:无法在自定义分析器类positionIncrementGap上设置org.apache.lucene.analysis.cn.smart.SmartChineseAnalyze

删除该字段类型的positionIncrementGap设置,因为该设置对自定义分析器无效(这是有效的)。