资源加载

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

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

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

Configset 中的资源

Configset 是包含 solrconfig.xml、架构和它们引用的资源的目录。在 SolrCloud 中,它们存储在 ZooKeeper 中。在用户管理的集群和单节点安装中,它们存储在文件系统中。在任何模式下,资源都可以共享,也可以专用于 configSet。最好将资源放在这里。

其他位置的资源

资源还可以放置在任意目录中,并从 solrconfig.xml 中的 <lib /> 指令中进行 引用,前提是该指令引用的是目录,而不是实际的资源文件。示例:<lib path="/volume/models/" /> 如果资源对于 ZooKeeper 中的配置集来说太大,则此选择可能是有意义的。但是,由您来确保群集中的所有节点都可以访问这些资源。

最后,这非常不寻常,资源还可以打包在 .jar 文件中,并从中引用它们。这对于默认资源可能是有意义的,其中插件用户可以通过在配置集中放置同名文件来覆盖它。