使用Spring Solr数据或不使用灵活请求作为备份?

时间:2013-05-29 22:06:18

标签: java spring solr solrj spring-data-solr

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

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

并检查备份是否完成(我将执行get请求,解析JSON并将看到上次备份时间是否已更改)如何将其与Spring Data Solr集成?

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

1 个答案:

答案 0 :(得分: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 "";
  }
}

接下来,您可以按照Section 1.3 of Spring Data Commons文档中的说明向所有存储库添加自定义行为。查看this(不是您的问题的实现,而是自定义存储库的一般用法),以了解它可能如何工作。

请随意打开功能请求,因为这绝对是Spring Data Solr的缺失。