我一直在寻找一种工具来帮助加速和简化Solr模式的编辑。在研究之后,似乎只有管理架构才能被Schema API编辑。不幸的是,我们的大部分系列都使用schema.xml
和ClassicIndexSchemaFactory
。
我们为那些人做的是将conf文件保存在我们的仓库中,然后当我们想要进行更改时,我们在IDE中手动编辑这些文件,然后运行一个shell脚本,使用zkcli.sh
对它们进行upconf。环顾四周之后,我看不到除了手动编辑之外的任何方式来更改架构。
如果我们想以编程方式向我们的schema.xml
添加字段,那么唯一的方法是使用一个字面编辑XML文件内容的脚本吗?
是的,除非您想使用托管架构,否则这是您的选择。
但是,托管架构功能正是您要问的功能。它允许您通过API以编程方式对架构进行更改,然后您可以提取当前配置并将其作为当前schema.xml添加到版本控制的repo中。它还允许您编写迁移脚本以将字段添加到当前运行的实例。
另请注意,您可以对托管架构进行手动更改(通过编辑托管架构xml文件),但不建议这样做,因为如果您决定这样做,请务必小心(确保没有节点正在更改架构)当你这样做时,确保每个节点都获取更改,等等。