gpt4 book ai didi

java - 多环境的 SOLR 配置

转载 作者:行者123 更新时间:2023-12-01 09:53:02 26 4
gpt4 key购买 nike

我是 SOLR 新手,但我已经设置了 SOLR Cloud 并设置了核心“participant_dev”。我们有多种环境,即 CI、Dev、QA、UAT 和 Prod。

对于单核来说,配置足够简单。在 Spring Boot 应用程序 yaml 中添加 solr 服务器 url,如下所示

spring:
data:
solr:
host: server url

solr文档用

注释
@SolrDocument(solrCoreName = "participant_dev")
public class Solr Participant{

....
}

这是可行的,但现在的要求是,当应用程序移动到不同的环境时,我必须设置 solr 核心,如“participant_ci”、“participant_qa”、“participant_uat”等。您能否建议如何根据环境更改 solr 核心名称。以便, 在 CI 中,

@SolrDocument(solrCoreName = "participant_ci")
public class Solr Participant{

....
}

In QA,

@SolrDocument(solrCoreName = "participant_qa")
public class Solr Participant{

....
}

最佳答案

您可以通过在Application类中创建solr客户端bean并删除@SolrDocument注释来设置。因此默认集合将如指定的那样。

@Bean
public SolrClient solrClient()
{
CloudSolrClient client = new CloudSolrClient(env.getRequiredProperty("spring.data.solr.zk-host"));
client.setDefaultCollection("participant_"+env.getActiveProfiles()[0]);
return client;
}

另一种选择是创建自定义存储库,但这会添加大量不需要的代码。

关于java - 多环境的 SOLR 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37484909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com