Могу ли я использовать клиентскую библиотеку solrj (версия - 6.6.3) против сервера solr с более низкой версией (5.xx или 4.xx)? - PullRequest
0 голосов
/ 28 мая 2019

В настоящее время я использую следующие зависимости solr в своем проекте java:

   <dependency>
        <groupId>org.apache.solr</groupId>
        <artifactId>solr-solrj</artifactId>
        <version>6.6.3</version>
        <scope>compile</scope>
    </dependency>

И версия моего сервера solr 4.xx, мне нужно обновить версию моего сервера solr или она обратно совместима?

1 Ответ

0 голосов
/ 28 мая 2019

Существует значительное изменение в том, как хранится состояние для коллекций - в более ранних версиях Solr состояние облака для каждой коллекции хранилось в одном отдельном файле в корне в Zookeeper, но позже оно изменилось, чтобы вместо этого сохранить состояние для каждогоcollection в своем собственном файле состояний.

Более поздняя версия SolrJ, вероятно, предполагает наличие состояния для каждой коллекции вместо глобального состояния, поэтому, если вы используете облачный режим, вам следует использовать ту же версию SolrJкак вы используете для Solr.

Для использования стандартного интерфейса http для одноядерных процессоров не должно быть большой разницы (я не думаю, что формат javabin изменился, например), за исключением функций, которые толькоподдерживается в более новых версиях Solr, чем 4.

Но главный вопрос тогда;если вы действительно правильно управляете своими зависимостями с Maven;почему бы не использовать библиотеку SolrJ, которая на самом деле предназначена для вашей версии Solr, вместо того, чтобы рисковать любой возможной несовместимостью в странных крайних случаях?Я бы выбрал ту же версию SolrJ, что и версию, которую вы используете для Solr.

...