如何使用 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 的类文件未找到

如何使用 php 和 mysql 使用纬度和经度进行几何搜索

如何查看手机内存和CPU使用情况

如何接收和使用 NSErrorPointer

如何使用 SVG 进行缩放和平移

如何在WTL和MFC中使用duilib及如何静态使用duilib库