有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Solr CoreAware FilterFactory

我需要编写一个定制的solr FilterFactory,它需要关于注册它的核心的信息(我假设是多核环境)。由于某些原因,我被禁止从FilterFactory实现SolrCoreAware。是否有可能从工厂的构造函数/init方法获得内核

提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    我想你可以使用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>