1

我想在 Spring 上实现一个与我当前的 Solr 或 SolrCloud 交互的应用程序。我考虑是否使用 Spring Data Solr。但是,另一方面,如果我只运行这样的查询,我认为它还没有实现 CloudSolrServer:

http://localhost:8983/solr/replication?command=backup

并检查备份是否完成(我会做一个获取请求,解析 JSON 并会看到上次备份时间是否更改)我如何将它与 Spring Data Solr 集成?

我的意思是在我的情况下使用 Spring + Solrj 而不是 Spring Data Solr 是否更有意义(也就是说,我想做更灵活的事情,只是使用 Spring 在 Solr 上进行 CRUD 操作)?

4

1 回答 1

0

诚然,目前尚不支持 CloudSolrServer。您可以做的是为您提供自己的 SolrServerFactory。

public class CloudSolrServerFactory implements SolrServerFactory {

  private final CloudSolrServer solrServer;

  public CloudSolrServerFactory(String zkHost) throws MalformedURLException{
    this.solrServer = new CloudSolrServer(zkHost);
  }

  @Override
  public SolrServer getSolrServer() {
    return this.solrServer;
  }

  @Override
  public String getCore() {
    return "";
  }
}

接下来,您可以向所有存储库添加自定义行为,如Spring Data Commons文档第 1.3 节所述。看看这个(不是你的问题的实现,而是自定义存储库的一般用法)以了解它是如何工作的。

请随时打开功能请求,因为这绝对是 Spring Data Solr 缺少的东西。

于 2013-05-30T04:27:09.603 回答