【问题标题】:Spring boot health endpoint for SOLRSOLR 的 Spring Boot 健康端点
【发布时间】:2014-09-30 17:06:20
【问题描述】:

我使用 Spring Boot 嵌入式 tomcat 和 SOLR 作为虚拟示例。 在我的配置类中我使用了

@Bean
public CloudSolrServer solrServer(){
    return  new CloudSolrServer(zkEnsemble);
}

点击下面的健康 URL 时会收到消息。

{ "status" : { "status" : "DOWN" }, "details" : { "error" : "org.apache.solr.client.solrj.SolrServerException: No collection param specified on request and no default collection has been set." }, "error" : "org.apache.solr.client.solrj.SolrServerException: No collection param specified on request and no default collection has been set." }

能否请您帮忙,我怎样才能删除此消息,以便状态为 UP。

调查spring boot solr健康指标类的时候发现SolrHealthIndicator没有使用collection

如果我遗漏了什么,请帮忙

【问题讨论】:

  • Solr bean 是否已正确初始化或根本无法工作?
  • 看来你的 Solr 配置是错误的。您需要云功能吗?我建议尝试使用基础 HttpSolrServer

标签: spring solr spring-boot


【解决方案1】:

Spring Boot 的 SolrHealthIndicator 只需在您的 SolrServer 上调用 ping()。目前,它无法知道应该 ping 哪个集合(或者是否应该 ping 多个集合)。

您刚才的最佳选择是通过在您的 solrServer() bean 方法中调用 setDefaultCollection(String) 来使用默认集合配置您的 CloudSolrServer 实例。

如果您希望看到对SolrHealthIndicator 的一些改进,例如允许您将集合配置为在application.properties 中ping,请open an issue

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-29
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2015-12-06
    • 2023-02-07
    相关资源
    最近更新 更多