solr - 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。
解决方案
我通过直接使用 jar 文件中的类名找到了一种解决方法。所以,我将类名org.apache.lucene.analysis.phonetic.DaitchMokotoffSoundexFilterFactory
改为
solr.DaitchMokotoffSoundexFilterFactory
它奏效了。
推荐阅读
- javascript - TypeError:无法读取未定义的属性“导航”-React Native
- python - Python 生成器如何节省内存和时间?
- docker - 如何使 docker 容器充当另一个容器的中继?
- java - 在 excel 中写入数据时发生错误。无法读取 zip 条目
- regex - 正则表达式使用 RE2 在空格之前匹配字符串之后
- javascript - 为什么在我的异步函数的不同位置使用 await 会产生不同的结果?
- cypress - 赛普拉斯打开所有模拟窗口的参数
- javascript - 尝试按 ID 更改元素 - 不工作
- sql-server - 消息 1013,第 16 级,状态 1,第 1 行
- apache-spark - 如何使用 pyspark 将结构化流数据写入 Cassandra 表?