如何使用 EmbeddedSolrServer 和多核支持设置 Spring Data Solr?
Posted
技术标签:
【中文标题】如何使用 EmbeddedSolrServer 和多核支持设置 Spring Data Solr?【英文标题】:How to setup Spring Data Solr with EmbeddedSolrServer and multicore support? 【发布时间】:2014-09-16 12:13:13 【问题描述】:我正在使用 Spring Data Solr 在我的项目中实现搜索模块。要启用多核支持,我只需实例化一个 HttpSolrServer,然后使用 @EnableSolrRepositores(multicoreSupport=true)
声明一个基于 java 的 Spring 配置类。一切正常,直到我尝试为 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);
【讨论】:
感谢您的信息。 1.2.5 出来后我试试看。 @NikhilSahu EmbeddedSolrServer 没有被弃用,我只是用 solr-core-5.4.1 对其进行了测试 spring-data-solr 使用 solrj4。明确提及更高版本的 solrj 依赖项将显示 SolrServer 已弃用,现在从 SolrClient 继承。所有功能已移至 SolrClient。 SD-Solr 2.0.0.M1 移至 Solr 5。EmbeddedSolrServer
扩展 SolrClient
并可通过 EmbeddedSolrServerFactory
创建以上是关于如何使用 EmbeddedSolrServer 和多核支持设置 Spring Data Solr?的主要内容,如果未能解决你的问题,请参考以下文章
org.apache.solr.client.solrj.embedded.EmbeddedSolrServer 的类文件未找到