我想在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操作)?
答案 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的缺失。