java - 是否使用 Spring Solr 数据来实现像备份这样的灵活请求?

标签 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 操作)?

最佳答案

确实,目前还不支持 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/

相关文章:

java - 未能使用 User 对象作为参数?在 Java 泛型中扩展 User

java - 将文本从文件复制到 HttpServletResponse 的最快方法

java - TreeSet搜索花费很长时间,谜题: to find lucky numbers

java - 创建名称为 'CommunityService' 的 bean 时出错

java - Solr : How to Index a field in document as json field?

php - 在 Doctrine 2 中使用类表继承时 : how can one write a Native SQL Query that will return results from a child class?

java - 不可序列化异常 - 组布局

mysql - 无法打开连接 [n/a] java.sql.SQLException : No suitable driver found

JSON - Spring MVC : How to post json data to spring MVC controller

java - OutOfMemoryError : Java heap space in solr, 但堆未满