managed-schema和schema.xml之间的区别是什么?



我在solr 6中有以下问题。

  1. managed-schema和schema.xml的主要区别是什么
  2. 使用managed-schema和schema.xml(classic)的优点和缺点是什么?

你能帮我理解一下solr6推荐的是什么吗?

问候,

Shaffic

在想过同样的事情之后,我做了一些调查,下面是我能想到的最好的。

看起来schema.xmlmanaged-schema是相同的,只是它们的名字在Solr6中改变了。

托管模式的优点

  • 的好处是,您可以更安全地更改模式,而不必担心出现拼写错误或创建无效的模式。如果更改无效,API将拒绝您的更改。
  • 模式API也处理所有的核心在模式改变后重新加载,所以你不需要。

托管模式的缺点

  • 你不应该手工编辑托管模式,因此你应该通过API,这使得更难跟踪模式的当前状态(例如通过版本控制)

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

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

来自Solr 6.6参考文档:

  • managed-schema是Solr默认使用的模式文件的名称以支持在运行时通过架构API进行架构更改,或者Schemaless Mode特性。您可以显式地配置托管模式特性可以使用另一个文件名,但是文件内容仍由Solr自动更新

  • schema.xml是模式文件的传统名称由使用ClassicIndexSchemaFactory的用户手工编辑

如果您想使用schema.xml而不是通过模式api作为managed-schema手动编辑模式(虽然不推荐),您可以在solrconfig.xml中设置schemaFactory配置:
要创建schemaFactory类& lt; = " ClassicIndexSchemaFactory "/祝辞

快速阅读这个链接,让你所有的问题都得到清楚的回答。

相关内容

  • 没有找到相关文章

最新更新