实施SOLR PostFilter - 如何从客户后期过滤器中读取配置

时间:2018-06-17 01:15:56

标签: solr

我在文章后面实现了自定义SOLR PostFilter逻辑: http://qaware.blogspot.com/2014/11/how-to-write-postfilter-for-solr-49.html https://lucidworks.com/2015/05/15/custom-security-filtering-solr-5/

在我的自定义SOLR postfilter中,我正在对SQL Server进行数据库调用,我需要基于环境的不同连接字符串 - dev / preprod / prod。

如何从SOLR中的某些配置中读取连接字符串? 是否可以以某种方式扩展配置,以便可以访问连接字符串以在自定义QueryParser中读取?

例如,在 Solr.config 内的某处,定义了自定义解析器?

<queryParser name="CustomSolrPostFilter" class="CustomSolrPostFilter" />

或者以某种方式从 core.properties 文件中读取?

1 个答案:

答案 0 :(得分:0)

通常在发布问题后发生,答案几乎立即被发现。

需要在解析器声明中进行扩展:

<queryParser name="CustomSolrPostFilter" class="CustomSolrPostFilter">
    <str name="myCustomConfigurationProperty">jdbc:sqlserver....</str>
</queryParser>

然后它可以在QParserPlugin实现中访问:

@Override
public void init(NamedList namedList) {
    namedList.get("myCustomConfigurationProperty") //give "jdbc:sqlserver...."
}