在云模式下运行Solr自定义过滤器

时间:2019-06-11 23:59:26

标签: solr solrcloud

我已经实现了自定义的Solr过滤器。我想在云模式下将其与Solr一起使用。我遵循了在云模式下添加插件的官方说明(可在此处找到https://lucene.apache.org/solr/guide/7_5/adding-custom-plugins-in-solrcloud-mode.html),但是该操作未能应用该配置。

已实现过滤器及其工厂类,并创建了JAR。 JAR大小很小(几kbs)。 Solr在启用运行时库的情况下运行(solr start -c -Denable.runtime.lib = true)。 JAR已上传到.system集合中。通过查询确认。 模拟测试集合“ mycollection”已创建。 BLOB带有在测试集合中注册的自定义过滤器。 使用参数runtimeLib =“ true”将自定义过滤器添加到“ schema.xml”中的特定fieldType(“ title_string”)。配置已加载。

我尝试搜索说明,发现运行schema.xml中定义的任何模块(例如过滤器)时遇到问题。 我使用一个自定义的queryParser插件(它们在solrconfig.xml中定义)遵循相同的过程,并且在云模式下工作正常。 Solr版本是7.7.2。

使用自定义过滤器的

schema.xml fieldType:

<fieldType name="title_string" class="solr.TextField" multiValued="false">
  <analyzer>
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="com.mycompany.filters.SimpleFilterFactory" runtimeLib="true" version="1"/>
  </analyzer>
</fieldType>

在应用配置后,Solr抛出错误(日志):

mycollection_shard1_replica_n1:org.apache.solr.common.SolrException:org.apache.solr.common.SolrException:无法为核心mycollection_shard1_replica_n1加载conf:无法加载架构schema.xml:[schema.xml的插件初始化失败] fieldType“ title_string”:[schema.xml]分析器/过滤器的插件初始化失败:加载类'com.mycompany.filters.SimpleFilterFactory'时出错

1 个答案:

答案 0 :(得分:0)

基于此问题:https://issues.apache.org/jira/browse/SOLR-9175

当前,仅 solrconfig.xml 支持从Blob存储区加载自定义类,并且 schema.xml 中定义的自定义分析器暂时无法使用。

>

一种解决方法是将jar文件放入SolrCloud的每个Solr安装中。

您可以将它们放在SOLR_HOME/lib-see detail