我需要编写一个自定义的solr FilterFactory,它需要关于注册它的内核的信息(我假设是多核环境)。由于某些原因,我被禁止从FilterFactory实现SolrCoreAware。有没有可能从工厂的构造函数/init方法中获得核心?
提前感谢!
发布于 2012-01-10 02:43:54
我认为您可以使用ResourceLoader对象:
@Override
public void inform(ResourceLoader loader) {
Properties coreProperties = ((SolrResourceLoader) loader).getCoreProperties();
System.out.println("SolrCoreName= " + coreProperties.getProperty("name"));
}要使其正常工作,您需要在solr.xml文件上设置该属性:
<solr persistent="true" sharedLib="../lib">
<cores adminPath="/admin/cores">
<core name="item" instanceDir="item">
<property name="name" value="item" />
<property name="dataDir" value="/data" />
</core>
</cores>
</solr>https://stackoverflow.com/questions/8785600
复制相似问题