我已经设置了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上
帮助?
答案 0 :(得分:22)
嗯,这很尴尬,但这是发生在我身上的典型事情。在我发布这个问题后不到5分钟,我就把错误消失了[注意我说&#34;错误消失了#34;我没有说&#34;我解决了它&#34;,因为我还没有完全测试过它。
无论如何,在我的过滤条件中,您会看到side="front"
标记?是的,显然是个坏主意。虽然这很奇怪,因为我发现在apache docs:https://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.EdgeNGramFilterFactory中,我没有做到或不做任何事情。
任何人都可以解释一下吗?