managed-schema和schema.xml之间有什么区别

Sha*_*Jan 13 schema solr managed

我在solr 6中有以下问题.

  1. managed-schema和schema.xml之间的主要区别是什么
  2. 使用managed-schema和schema.xml(经典)时有什么好处和坏处.

你能帮我理解solr6中推荐的内容吗?

问候,

Shaffic

Bra*_*Deo 12

在想到同样的事情后我做了一些调查,这是我能想到的最好的.

它似乎是schema.xml并且managed-schema是不确定的,只有它们的名字在Solr6中被改变了.

托管架构的好处

  • 好处是您可以更安全地更改架构,而不必担心拼写错误或创建无效架构.如果某些内容无效,API会拒绝您的更改.
  • Schema API还会在架构发生更改后处理核心的所有重新加载,因此您不必这样做.

托管架构的缺点

  • 您不应该对托管架构进行手动编辑,因此您应该通过API,这使得更难跟踪架构的当前状态(例如,通过版本控制)

    注意:Schema API有一个端点,用于获取具有特殊参数的托管模式 curl http://localhost:8983/solr/<COLLECTION>/schema?wt=schema.xml

注意:如果您有一个schema.xml文件,并且在启动Solr时没有托管模式,并且没有在solrconfig.xml文件中指定schemaFactory,Solr将假定它是托管的,并从您的sys_schema创建一个managed_schema schema.xml文件,此时不再读取schema.xml文件.此时将从此处读取托管架构.对schema.xml的进一步更改将被忽略.


yet*_*der 7

来自 Solr 6.6 参考文档

  • Managed-schema是 Solr 默认使用的模式文件的名称,用于支持在运行时通过Schema API或无模式模式功能进行模式更改。您可以显式配置托管模式功能以使用备用文件名(如果您选择),但文件内容仍由 Solr 自动更新。

  • schema.xml是模式文件的传统名称,可以由使用 ClassicIndexSchemaFactory 的用户手动编辑。

如果您想使用 schema.xml 而不是通过模式 api 作为托管模式来手动编辑模式(尽管不推荐),您可以通过在 solrconfig.xml 中设置 schemaFactory 配置来实现:
<schemaFactory class="ClassicIndexSchemaFactory"/>

快速阅读此链接,以便清楚地回答您的所有问题。