使用版本号更新SOLR架构

使用版本号更新SOLR架构,solr,Solr,我正在为我的项目设计SOLR模式,并将使用模式API创建字段 我将来可能需要向模式中添加新字段 对于SQL数据库,我通常将模式版本号存储在一个已知的表中。然后,当我的应用程序启动时,它会检查以确保数据库模式是最新的。如果没有,我将执行所有需要的更新(编号)以使其更新 如何使用模式api通过SOLR实现这一点?具体来说,我如何/在何处存储和检索版本号?我当前的解决方法/解决方案是以SOLR字段的名称存储版本,例如创建一个名为“schema\u version\u 2”的字段。当我的应用程序启动时,

我正在为我的项目设计SOLR模式,并将使用模式API创建字段

我将来可能需要向模式中添加新字段

对于SQL数据库,我通常将模式版本号存储在一个已知的表中。然后,当我的应用程序启动时,它会检查以确保数据库模式是最新的。如果没有,我将执行所有需要的更新(编号)以使其更新


如何使用模式api通过SOLR实现这一点?具体来说,我如何/在何处存储和检索版本号?

我当前的解决方法/解决方案是以SOLR字段的名称存储版本,例如创建一个名为“schema\u version\u 2”的字段。当我的应用程序启动时,我使用检索字段列表并对其进行迭代,查找名为“schema_version_XX”的字段

然后,我可以确定是否需要对我的应用程序的SOLR模式应用任何升级。如有必要,我的应用程序将升级到最新的架构版本(通常是添加/修改字段)。最后,我增加了版本,例如删除“schema_version_2”字段并创建一个名为“schema_version_3”的新字段


我仍然想知道有更多SOLR经验的开发人员使用什么模式和解决方案来解决这个问题。

我目前的解决方法/解决方案是以SOLR字段的名称存储版本,例如创建一个名为“schema_version_2”的字段。当我的应用程序启动时,我使用检索字段列表并对其进行迭代,查找名为“schema_version_XX”的字段

然后,我可以确定是否需要对我的应用程序的SOLR模式应用任何升级。如有必要,我的应用程序将升级到最新的架构版本(通常是添加/修改字段)。最后,我增加了版本,例如删除“schema_version_2”字段并创建一个名为“schema_version_3”的新字段


我仍然想知道有更多SOLR经验的开发人员使用什么模式和解决方案来解决这个问题。

请注意,schema API不会报告动态添加的字段。如果定义一个动态字段
myprefix.*
,并使用该前缀创建一个字段(例如
myprefix.\ux.
),架构API将不会在现有字段列表中报告该字段。另外,请看一下Luke请求处理程序(),我知道Solr在管理界面中使用它来显示Solr核心的模式。请注意,模式API不会报告动态添加的字段。如果定义一个动态字段
myprefix.*
,并使用该前缀创建一个字段(例如
myprefix.\ux.
),架构API将不会在现有字段列表中报告该字段。另外,看看Luke请求处理程序(),我知道Solr在管理界面中使用它来显示Solr核心的模式。