Работает ли Spring Data Solr с хостом zookeeper? - PullRequest
0 голосов
/ 05 июня 2018

У меня есть приложение весенней загрузки, и в моем файле свойств у меня есть:

spring.data.solr.host=http://{SOLR.HOST}/solr

Это работает нормально, но если я заменил SOLR.HOST на ZOOKEEPER.HOST, он выдаст исключение ввода-вывода, покаобщаюсь с сервером.Мне кажется, что данные Spring пытаются попасть в конечную точку zookeeper напрямую через http-запрос, а zookeeper не обрабатывает http-запросы?Если да, что я могу сделать, чтобы данные пружин работали с zookeeper?

1 Ответ

0 голосов
/ 05 июня 2018

Похоже, вам нужно использовать CloudSolrClient для создания экземпляра bean-компонента SolrClient https://dzone.com/articles/spring-data-solr-cloud-zookeeper-mongodb-ubuntu-in

@Configuration
@EnableSolrRepositories(basePackages = { "ca.knc.restaurant.repository.solr" }, multicoreSupport = true)
public class SpringSolrConfig {
    @Value("${spring.data.solr.zk-host}")
    private String zkHost;
    @Bean
    public SolrClient solrClient() {
        return new CloudSolrClient(zkHost);
    }
    @Bean
    public SolrTemplate solrTemplate(SolrClient solrClient) throws Exception {
        return new SolrTemplate(solrClient);
    }
}

Вы также можете установить его через application.properties и позволить Spring Boot автоматически настроить его:

spring.data.solr.zk-host = # Адрес хоста ZooKeeper в форме HOST: PORT.

https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html

https://github.com/spring-projects/spring-boot/blob/master/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/solr/SolrAutoConfiguration.java


В противном случае вы можете использовать LoadBalancer для обслуживания ваших экземпляров Solr и использовать обычную конфигурацию Solr Host

Например, у меня есть следующая конфигурация (yml config):

spring.data.solr.host: https://foo.bar.com/solr

Где foo.bar.com обслуживает один из моих экземпляров Solr с Apache в качестве стандартного балансировщика нагрузки.

...