作者:henrysong | 来源:互联网 | 2023-05-20 09:00
如何解决《EdgeNGram:实例化类时出错:'org.apache.lucene.analysis.ngram.EdgeNGramFilterFactory'》经验,为你挑选了1个好方法。
我已经设置了Solr,到目前为止所有的工作都只是花花公子,但现在我想在我的搜索中添加EdgeNGram功能.但是,只要我将它扔进我的schema.xml,它就会开始抛出错误:
org.apache.solr.common.SolrException:org.apache.solr.common.SolrException:
Could not load conf for core collection1: Plugin init failure for [schema.xml]
fieldType "text_en_splitting": Plugin init failure for [schema.xml] analyzer/filter:
Error instantiating class: 'org.apache.lucene.analysis.ngram.EdgeNGramFilterFactory'.
Schema file is /opt/solr/server/solr/collection1/conf/schema.xml
相关的架构部分如下所示:
其他fieldType的配置很好,因为我已经相当广泛地测试了它.它只是添加这一行抛出错误.
现在,我已经做了一些环顾四周,通常情况下,这些错误意味着缺少一个.jar(至少根据这里发布的其他两个问题,特别是与NGram无关).所以我继续挖掘lucene-analyzers-common.jar并在我的solrconfig.xml中明确添加它,如下所示:
没运气.我知道路径很好,我就是这样包含了mysql_connector.无论如何,我已经厌倦了这个错误,所以我继续前进并包括我可以挖掘的每一个.jar:
Nope.jpg
当然,所有这些都伴随着许多bin/solr stop -all并启动,所有这些仍然在Solr Admin中为我提供漂亮的红色横幅.我在Solr 5.0.0上
救命?
1> 2fat2kidnap..:
嗯,这很尴尬,但这是发生在我身上的典型事情.我发布这个问题后不到5分钟,我就把错误消失了[注意我说"错误消失",我没有说"我解决了",因为我还没有完全测试它].
无论如何,在我的过滤器标签中,您会看到该side="front"
标签?是的,显然是个坏主意.虽然这很奇怪,因为我发现在apache docs:https://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.EdgeNGramFilterFactory中,我没有补上或其他什么.
有谁能解释一下?
它在Solr 4.4中被标记为已弃用,并在5.0中被删除.所以它基本上是文档中的一个错误.请看这里:https://cwiki.apache.org/confluence/display/solr/Filter+Descriptions#FilterDescriptions-EdgeN-GramFilter