【问题标题】:Custom version number for Solr schemaSolr 架构的自定义版本号
【发布时间】:2013-01-19 07:26:08
【问题描述】:

是否可以在 Solr 架构中的某处存储自定义版本号,以便客户端可以检索它以验证它是否连接到兼容的 Solr 实例?

当我将应用程序的新版本部署到 QA 或生产环境时,我需要确保我的应用程序连接到的所有数据源(Solr、RDBMS 等)都已正确更新/迁移。所以我想在启动时进行一些验证。使用数据库很容易(例如,将当前模式版本存储在 VERSION 表中),但在哪里存储 Solr 模式的版本信息就不太明显了。

【问题讨论】:

    标签: solr schema versioning


    【解决方案1】:

    SystemInfoHandler 将提供版本以及有关 Solr 实例的其他信息。在更高版本的 Solr(3.x 和 4.x)中,这已作为管理 requestHandler 的一部分启用。

    您可以通过http://localhost:8983/solr/admin/system 从随 Solr 分发的示例站点访问信息。为您的 Solr 配置相应地修改 url。

    注意:如果您运行的是旧版本的 Solr,可以通过在 solrconfig.xml 文件中添加以下行来启用此功能。

     <requestHandler name="/admin/system" class="solr.admin.SystemInfoHandler" />
    

    更新: 对于知道架构何时更改(例如版本架构)的特定场景,可以通过每次修改架构文件时更新根节点的名称属性来完成。然后,此名称值将在 SystemInfoHandler 响应中可用。

    【讨论】:

    • 不确定我明白了。我应该把我的自定义属性放在哪里以便从 SystemInfoHandler 中检索它?
    • 每次修改schema文件时只需更新root&lt;schema&gt;节点的name属性即可。这将在 SystemInfoHandler 响应中可用。请参阅上面 wiki 链接中的 SystemInfoHandler 输出示例。
    • 现在我明白了 :) 谢谢!
    • SystemInfoHandler 链接现在给出 404。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    • 1970-01-01
    • 2014-04-27
    • 2014-08-07
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多