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

时间:2015-02-27 19:24:02

标签: apache solr lucene

我已经设置了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的配置很好,因为我已经进行了相当广泛的测试。它只是添加了引发错误的这一行。

现在,我已经做了一些环顾四周,通常情况下,这些错误意味着缺少这些错误(至少根据此处发布的其他两个问题,而不是相关的特别是对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 stop -all并启动,所有这些仍然在Solr Admin中为我提供漂亮的红色横幅。我在Solr 5.0.0上

帮助?

1 个答案:

答案 0 :(得分:22)

嗯,这很尴尬,但这是发生在我身上的典型事情。在我发布这个问题后不到5分钟,我就把错误消失了[注意我说&#34;错误消失了#34;我没有说&#34;我解决了它&#34;,因为我还没有完全测试过它。

无论如何,在我的过滤条件中,您会看到side="front"标记?是的,显然是个坏主意。虽然这很奇怪,因为我发现在apache docs:https://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.EdgeNGramFilterFactory中,我没有做到或不做任何事情。

任何人都可以解释一下吗?