원본 본문으로 이동하기

스프링 부트 1.4.x 솔라 (spring-data-solr) 연동 변경사항.

박용서 - 서론 스프링 부트 1.3.x 를 사용하다 이번에 1.4.0가 출시되어 업데이트 하였습니다. 문제는 1.4.0 버전 기준으로 솔라의 기본 버전이 2.0.2.RELEASE 로 업데이트 되었고 이로인해 일부가 디프리케이트되었습니다. 기존 솔라 연동 : spring-data-solr 1.3.7 까지 필자는 database.properties 에 별도로 설정했으며 아래와 같이 설정하였습니다. solr.gs.host: http://호스트:포트/solr /** * 솔라 */ @Configuration @EnableSolrRepositories ( basePackages = "db.solr.gs.repositories", solrServerRef = "GsSolr", solrTemplateRef = "GsSolrTemplate", multicoreSupport = true ) @PropertySource("classpath:database.properties") public static class GsSolrConfig { @Value("${solr.gs.host}") String host; @Bean(name = "GsSolr") public SolrServer getSolrServer() { return new HttpSolrServer(host); } @Bean(name = "GsSolrTemplate") public SolrTemplate getSolrTemplate() { return new SolrTemplate(getSolrServer()); } } 디프리케이트 부분 solrServerRef 가 사라졌습니다. SolrServer, HttpSolrServer 가 디프리케이트 되었습니다. 문서를 보니 HttpSolrClient 를 사용하라고 나옵니다. https://lucene.apache.org/solr/5_0_0/solr-solrj/org/apache/solr/client/solrj/impl/HttpSolrServer.html 수정 spring-data-solr 2.x 부터는 아래와 같이 작성하셔야 합니다. /** * 솔라 */ @Configuration @EnableSolrRepositories ( basePackages = "db.solr.gs.repositories", //solrServerRef = "GsSolr", 디프리케이트 solrClientRef = "GsSolr", solrTemplateRef = "GsSolrTemplate", multicoreSupport = true ) @PropertySource("classpath:database.properties") public static class GsSolrConfig { @Value("${solr.gs.host}") String host; // 디프리케이트 되었다. // HttpSolrClient 를 대신 쓰라고 한다. // @Bean(name = "GsSolr") // public SolrServer getSolrServer() // { // return new HttpSolrServer(host); // } @Bean(name = "GsSolr") public SolrClient getSolrClient() { return new HttpSolrClient(host); } @Bean(name = "GsSolrTemplate") public SolrTemplate getSolrTemplate() { return new SolrTemplate(getSolrClient()); } } 결과 입출력 무리없이 똑같이 돌아갑니다. 공식문서가 왜 디프리케이트 했는지에 대한 이유를 언급하지 않는 것이 조금 아쉽습니다. Deprecated. Use HttpSolrClient - 쿨한 문서... 스프링 솔라 연동 강의는 아래를 참고해주세요. 스프링 solr 연동 https://gs.saro.me/#!m=elec&jn=754 Spring 서로 다른 종류의 DB에 @Transactional [예제포함] https://gs.saro.me/#!m=elec&jn=782 - 스프링 솔라 자바