我是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{
....
}
答案 0 :(得分:1)
您可以通过在Application类中创建solr客户端bean并删除@SolrDocument注释来进行设置。因此默认集合将是指定的。
from flask import url_for
class ProjectsView(object):
def __init__(self, projectid):
self.projectid = projectid
...
def serialize(self):
return {
...
'tasks_url':url_for('.getListByProjectID', _external=True, projectid=self.projectid),
}
class Projects(Resource):
def get(self, userid):
project_obj_list = []
...
v = ProjectsView(project.id)
project_obj_list.append(v)
return jsonify(result=[e.serialize() for e in project_obj_list])
另一种选择是创建自定义存储库,但这会增加许多不需要的代码。