EdgeNGram:实例化 class 时出错:'org.apache.lucene.analysis.ngram.EdgeNGramFilterFactory'

EdgeNGram: Error instantiating class: 'org.apache.lucene.analysis.ngram.EdgeNGramFilterFactory'

我已经设置了 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 

相关架构部分如下所示:

<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="front"/>

fieldType 的其余部分的配置很好,因为我已经对其进行了相当广泛的测试。它只是添加抛出错误的这一行。

现在,我环顾四周,通常,这些错误意味着缺少一个 .jar(至少根据此处发布的其他两个问题,但与 NGram 无关)。所以我继续挖掘 lucene-analyzers-common.jar 并将其明确添加到我的 solrconfig.xml 中,如下所示:

<lib dir="${solr.install.dir:../../../..}/dist/" regex="lucene-analyzers-common-\d.*\.jar" />

运气不好。我知道这条路很好,我只是这样包含了 mysql_connector 。无论如何,我对这个错误感到厌倦,所以我继续并包含了我可以挖掘的每一个 .jar:

<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-.*\.jar" />

Nope.jpg

当然,所有这些都伴随着许多 bin/solr 停止和启动,它们仍然在 Solr Admin 中为我提供漂亮的红色横幅。我正在使用 Solr 5.0.0

帮忙?

嗯,这很尴尬,但这是发生在我身上的典型事情。在我发布这个问题后不到 5 分钟,我就让错误消失了[注意我说的是 "error go away",我没有说 "I solved it",因为我还没有完全测试它]。

无论如何,在我的过滤器标签中,您看到 side="front" 标签了吗?是的,显然是个坏主意。不过这很奇怪,因为我在 apache 文档中发现:https://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.EdgeNGramFilterFactory,我没有编造它或任何东西。

谁能解释一下?