【问题标题】:Programatically change non-managed Solr schema以编程方式更改非托管 Solr 架构
【发布时间】:2019-02-07 01:54:48
【问题描述】:

我一直在寻找一种工具来帮助加快和简化 Solr 模式的编辑。经过调查,Schema API 似乎只能编辑托管模式。不幸的是,我们的大多数收藏都使用schema.xmlClassicIndexSchemaFactory

我们一直在做的是将 conf 文件保存在我们的 repo 中,然后当我们想要进行更改时,我们在 IDE 中手动编辑这些文件,然后运行一个 shell 脚本,使用 zkcli.sh 对它们进行升级配置.环顾四周后,除了手动编辑来更改架构之外,我看不到任何其他方法。

如果我们想以编程方式向我们的schema.xml 添加一个字段,唯一的方法是拥有一个可以逐字编辑 XML 文件内容的脚本吗?

【问题讨论】:

    标签: xml shell solr schema apache-zookeeper


    【解决方案1】:

    是的,除非您想使用托管架构,否则这是您的选择。

    不过,托管架构功能正是您要询问的功能。它允许您通过 API 以编程方式对架构进行更改,然后您可以提取当前配置并将其作为当前 schema.xml 添加到您的版本控制存储库中。它还允许您编写迁移脚本以向当前运行的实例添加字段。

    另外请注意,您可以手动更改托管架构(通过编辑托管架构 xml 文件),但不建议这样做,因为如果您决定这样做,则需要小心那个(确保在你这样做时没有节点正在更改架构,确保每个节点都接受更改等)。

    【讨论】:

    • 好的,谢谢 :) 一个相关的问题是,the differences listed in the documentation here 是托管方法和 schema.xml 方法之间的唯一方法吗?我在文档中找不到任何其他差异。如果是这样,我可能会着手管理我们所有的生产配置。
    • 是的,区别在于——在实践中——一个允许 Solr 进程修改它,另一个不允许。否则功能支持应该是相同的(因为您可以采用托管模式并将其重命名为 schema.xml 并再次使用经典工厂应该证明这一点)
    猜你喜欢
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-04
    • 1970-01-01
    • 2012-04-11
    相关资源
    最近更新 更多