我想在 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 操作)?
最佳答案
确实,目前还不支持 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 所缺少的。
关于java - 是否使用 Spring Solr 数据来实现像备份这样的灵活请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16824701/