我在文章后面实现了自定义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 文件中读取?
答案 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...."
}