首页 > 解决方案 > Solr 异常 java.lang.ClassNotFoundException: solr.DaitchMokotoffSoundexFilterFactory

问题描述

我是 solr 的新手,使用版本 8.8.2 我正在尝试使用语音匹配实现数据类型。我在托管模式文件中有这个

<fieldType name="text_phonetic" class="solr.TextField" positionIncrementGap="100">
   <analyzer>
  <tokenizer class="solr.StandardTokenizerFactory"/>
  <filter class="solr.DaitchMokotoffSoundexFilterFactory" inject="true"/>
</analyzer>
 </fieldType>

当我尝试加载核心失败并且日志包含以下异常:

org.apache.solr.common.SolrException: Error CREATEing SolrCore 'abetest': Unable to create core [abetest] Caused by: solr.DaitchMokotoffSoundexFilterFactory
Caused by: org.apache.solr.common.SolrException: Plugin init failure for [schema.xml] analyzer/filter: Error loading class 'solr.DaitchMokotoffSoundexFilterFactory'
Caused by: java.lang.ClassNotFoundException: solr.DaitchMokotoffSoundexFilterFactory

在 solrconfig.xml 中,我尝试使用<lib标记引用 jar 文件,但我无法找到solr.DiatchMokotoffSoundexFilterFactory类的确切位置。

我正在从 docker 容器作为单个节点运行 solr。

标签: solr

解决方案


我通过直接使用 jar 文件中的类名找到了一种解决方法。所以,我将类名org.apache.lucene.analysis.phonetic.DaitchMokotoffSoundexFilterFactory 改为 solr.DaitchMokotoffSoundexFilterFactory

它奏效了。


推荐阅读