Указать на разные данные dirs в solrj? - PullRequest
0 голосов
/ 13 марта 2012

Я использую solrj для распределенного поиска. Исходя из определенных пользовательских предпочтений, мне придется искать по определенному набору индексов. Есть ли способ, с помощью которого я могу программно (дух!) Указать datadir для этого конкретного поискового запроса?

Я просмотрел документацию, но не смог найти ничего, кроме наличия наборов данных в разных ядрах, есть ли лучший способ?

Редактировать 1: все наборы индексов имеют одинаковый формат схемы.

1 Ответ

2 голосов
/ 13 марта 2012

Вы можете изменить dataDir почти динамически, используя CREATE CoreAdmin action и указав параметр dataDir.

Создает новое ядро ​​на основе ранее существовавшего instanceDir / solrconfig.xml / schema.xml и регистрирует его. Если постоянство включено (persist = true), конфигурация для этого нового ядро будет сохранено в «solr.xml». Если ядро ​​с таким именем существует, пока «новое» созданное ядро ​​инициализируется, «старое» будет продолжать принимать запросы. Как только он закончится, все новые запросы перейдет к «новому» ядру, а «старое» ядро ​​будет выгружено.

В любом случае вам необходимо загрузить новое ядро, без которого невозможно изменить каталог данных.

Вы можете использовать solrj для вызова действия CoreAdmin, используя классы CoreAdminRequest и CoreAdminResponse.

...