Как настроить Spring Data Solr с EmbeddedSolrServer и многоядерной поддержкой?

Я использую Spring Data Solr для реализации поискового модуля в моем проекте. Чтобы включить многоядерную поддержку, я просто создаю экземпляр HttpSolrServer, а затем объявляю основанный на Java класс конфигурации Spring с @EnableSolrRepositores(multicoreSupport=true), Все работает отлично, до тех пор, пока я не попытаюсь написать интеграционный тест для кодов и схем, связанных с Solr.

Я хочу использовать EmbeddedSolrServer для тестирования, чтобы тесты могли работать независимо от внешнего сервера Solr, но я не могу найти способ правильно настроить. Пожалуйста, порекомендуйте.

1 ответ

Решение

В настоящее время это нельзя сделать напрямую из-за DATASOLR-203.

Как только проблема, упомянутая выше, решена, вы можете сделать это следующим образом:

@Configuration
@EnableSolrRepositories(multicoreSupport = true)
static class SolrConfiguration {

  @Bean
  SolrServer solrServer() throws FileNotFoundException {

    String solrHome = ResourceUtils.getURL("classpath:your/path/here").getPath();
    CoreContainer container = CoreContainer.createAndLoad(solrHome, new File(solrHome + "/solr.xml"));

    return new EmbeddedSolrServer(container, null);
  }
}
Другие вопросы по тегам