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,我没有编造它或任何东西。
谁能解释一下?
我已经设置了 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,我没有编造它或任何东西。
谁能解释一下?