资源加载

Solr 组件可以使用资源进行配置:存储在外部文件中的数据,这些数据可以以独立于位置的方式引用。

资源的示例包括:模式组件所需的文件,例如,停止过滤器的停用词列表;以及 学习排序的机器学习模型。资源通常从 configSet 解析,但也存在其他选项。

Solr 的资源通常仅在首次加载 Solr 集合或 Solr 核心时加载。更新资源后,通常需要在运行 SolrCloud 时重新加载受影响的集合,或者在运行用户管理集群或单节点安装时重新加载核心。重新启动所有受影响的 Solr 节点也有效。托管资源可以通过 API 进行操作,无需显式重新加载。

Configsets 中的资源

Configsets 是包含 solrconfig.xml、模式以及它们引用的资源的目录。在 SolrCloud 中,它们存储在 ZooKeeper 中。在用户管理集群和单节点安装中,它们存储在文件系统中。在任何模式下,资源都可以共享,也可以专用于 configSet。首选将资源放置在此处。

其他位置的资源

资源也可以放置在任意目录中,并通过 solrconfig.xml 中的 <lib /> 指令进行引用,前提是该指令引用的是一个目录,而不是实际的资源文件。例如:<lib path="/volume/models/" />。如果资源对于 ZooKeeper 中的 configset 来说过大,这种选择可能更有意义。但是,您需要以某种方式确保集群中的所有节点都可以访问这些资源。

最后,尽管这种情况非常少见,资源也可以打包在 .jar 文件中,并通过它们进行引用。对于默认资源,这可能更有意义,插件用户可以通过将同名文件放在 configSet 中来覆盖它。