Solr CoreAware FilterFactory - PullRequest
       21

Solr CoreAware FilterFactory

0 голосов
/ 09 января 2012

Мне нужно написать собственный solr FilterFactory, которому нужна информация о ядре, для которого оно зарегистрировано (я полагаю, многоядерная среда). По какой-то причине я не могу использовать SolrCoreAware из FilterFactory. Можно ли как-то получить ядро ​​из метода конструктора / init фабрики?

Заранее спасибо!

1 Ответ

1 голос
/ 09 января 2012

Я думаю, вы могли бы использовать объект 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>
...