Поиск по нескольким экземплярам Solr - PullRequest
0 голосов
/ 29 октября 2018

Итак, у нас есть несколько экземпляров solr, расположенных в разных центрах обработки данных. Каждый экземпляр solr имеет одинаковые коллекции и схемы, но данные, которые мы храним в них, различны (мы храним клиентов из ЕС только в экземпляре solr, расположенном в ЕС, и мы храним данные о клиентах из США только в экземпляре solr, расположенном в США, и т. Д. ...).

Я ищу способ выполнить запрос по всем экземплярам solr в каждом центре обработки данных и получить комбинированный результат (т. Е. Конечный результат будет содержать данные как для ЕС, так и для США). Я не хочу запрашивать каждый экземпляр solr по отдельности и объединять результаты на моей стороне, так как я хотел бы по-прежнему иметь возможность использовать сортировку solr и другие параметры запроса в окончательном наборе результатов.

Есть ли в solr что-то, что поможет мне достичь этого? или, может быть, сторонний инструмент, который я мог бы использовать?

1 Ответ

0 голосов
/ 29 октября 2018

Есть несколько способов - вы можете вручную использовать параметр шардинга. Сначала получите набор ядер и хостов для каждой коллекции через CLUSTERSTATUS в API коллекций (или непосредственно из Zookeeper).

Другим вариантом является использование API-интерфейса Solr Streaming Expressions. Существует несколько ограничений, которые следует учитывать при использовании API, и результирующий набор будет отформатирован иначе, чем обычный результат запроса. Потоковый источник search позволяет задать ему параметр zkHost, сообщающий функции, к какому Zookeeper следует обратиться, чтобы узнать, где находится коллекция и какие узлы отвечают за коллекцию. После этого вам нужно будет добавить потоковые декораторы и фильтры, чтобы получить желаемый результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...