You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Solr 8.1添加爱沙尼亚语时加载EstonianStemmer类失败

Solr爱沙尼亚语支持加载失败问题解决

错误信息

analytics: org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: Could not load conf for core analytics: Error loading class 'org.tartarus.snowball.ext.EstonianStemmer'

用户已配置内容

<fieldType name="text_et" class="solr.TextField" positionIncrementGap="100"> 
  <analyzer> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_et.txt" /> 
    <filter class="solr.SnowballPorterFilterFactory" language="Estonian"/> 
  </analyzer>
</fieldType>

解决方法

  • 检查Solr版本兼容性:旧版Solr的Snowball组件可能未包含爱沙尼亚语词干提取器,确认你的Solr版本是否支持该语种。若版本过旧,升级到Solr 7及以上版本(这类版本通常支持更多语种的Snowball词干提取)。
  • 确认Snowball jar包存在:查看Solr的lib目录(全局lib或core专属lib),确保包含lucene-snowball-*.jar或solr-snowball-*.jar,且该jar包内存在org.tartarus.snowball.ext.EstonianStemmer类。若缺失,补充对应jar包到Solr的lib路径。
  • 切换到ICU词干提取方案:如果Snowball方案无法解决,改用ICU组件实现爱沙尼亚语词干处理,配置示例如下:
    <fieldType name="text_et" class="solr.TextField" positionIncrementGap="100">
      <analyzer>
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_et.txt"/>
        <filter class="solr.ICUFoldingFilterFactory"/>
        <filter class="solr.ICUStemFilterFactory" dictionary="lang/et.dict"/>
      </analyzer>
    </fieldType>
    
    注意需确保ICU相关jar包存在,并准备好爱沙尼亚语的ICU词干字典文件。
  • 验证类路径配置:检查Solr core的solrconfig.xml中是否正确配置了lib目录,确保所需jar包能被正常加载。

内容的提问来源于stack exchange,提问作者Nitish Raj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 15:53:24