我试图创建一个使用solr存储库的SpringBoot应用程序。我下面这个教程:使用JavaConfig的Spring Data Solr存储库
http://docs.spring.io/spring-data/solr/docs/current/reference/html/#solr.repositories
这说来配置我下面的类应用(例43):
@Configuration
@EnableSolrRepositories
class ApplicationConfig {
@Bean
public SolrClient solrClient() {
EmbeddedSolrServerFactory factory = new EmbeddedSolrServerFactory("classpath:com/acme/solr");
return factory.getSolrServer(); // getSolrServer does not exist
}
@Bean
public SolrOperations solrTemplate() {
return new SolrTemplate(solrClient());
}
}
的问题是,如果我这样做,它作为factory
的方法不识别getSolrServer()
。事实上,如果你看most recent API对于EmbeddedSolrServerFactory
你没有找到这种方法,但它显然存在于同一类的previous version。
也许它从getSolrServer
更名为getSolrClient
,出于某种原因,从一个版本改为另一个版本。
这里是我的依赖在pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-solr</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
无论如何,我试图改变getSolrServer
到getSolrClient
,但返回类型,即SolrClient
,现在是不兼容的。如果我尝试返回org.apache.solr.client.solrj.embedded.EmbeddedSolrServer
,它给了我一个错误,因为它没有找到org.apache.solr.client.solrj.embedded
...
使用,这将是SolrTemplate
不需要EmbeddedSolrServer
另一个问题,所以这不是一个很好的选择..
什么是你的pom中“spring-boot-starter-data-solr”的版本。 –
@ShivaKumarSS没有指定版本,所以我想它需要最新的。 – nbro