Configsets
Configsets 是 Solr 安装中使用的一组配置文件:solrconfig.xml
、架构和 资源,如语言文件、synonyms.txt
等。
此类配置(configsets)可以命名,然后由集合或核心引用,允许你共享它们以避免重复。
Solr 附带两个示例 configsets,位于 server/solr/configsets
中,可以用作你自己的 configsets 的基础。这些示例 configsets 分别名为 _default
和 sample_techproducts_configs
。
用户管理的集群或单节点安装中的 Configsets
如果你在用户管理的集群或单节点安装中使用 Solr,则 configsets 在文件系统上进行管理。
每个 Solr 核心都可以在其下方的 <instance_dir>/conf/
目录中拥有自己的 configset。在此,它没有命名或共享,并且找不到单词 configset。在 Solr 的早期,这是配置 唯一的方式。
要创建命名的 configset,请在 configset 基本目录下添加一个新目录。configset 将由该目录的名称标识。然后添加一个 conf/
目录,其中包含你想要共享的配置。结构应类似于以下内容
/<configSetBaseDir>
/configset1
/conf
/managed-schema.xml
/solrconfig.xml
/configset2
/conf
/managed-schema.xml
/solrconfig.xml
默认基本目录是 $SOLR_HOME/configsets
。此路径可以通过 solr.xml
中的 configSetBaseDir
参数进行配置(有关详细信息,请参阅 配置 solr.xml)。
要使用 configset 创建新核心,请将 configSet
作为核心属性之一传递。例如,如果你通过 CoreAdmin API 执行此操作
V1 API
curl http://localhost:8983/admin/cores?action=CREATE&name=mycore&instanceDir=path/to/instance&configSet=configset2
V2 API
curl -v -X POST -H 'Content-type: application/json' -d '{
"create":[{
"name": "mycore",
"instanceDir": "path/to/instance",
"configSet": "configSet2"}]}'
http://localhost:8983/api/cores
SolrCloud 集群中的 Configsets
在 SolrCloud 中,了解配置集存储在 ZooKeeper 中而不是文件系统中至关重要。Solr 的 _default
配置集在初始化时上传到 ZooKeeper。此配置集和几个示例配置集保留在文件系统中,但除非与新集合一起使用,否则 Solr 不会使用它们。
在 SolrCloud 中创建集合时,可以指定一个命名的配置集。如果不指定,则会复制 _default
并为新集合使用一个唯一名称。
可以通过 配置集 API 或更直接地通过 bin/solr zk upconfig
将配置集上传到 ZooKeeper。配置集 API 还有一些其他操作,CLI 也是如此。
要将文件上传到已存储在 ZooKeeper 上的配置集,可以使用 bin/solr zk cp
。
默认情况下,ZooKeeper 的文件大小限制为 1MB。如果文件大于此大小,则需要 增加 ZooKeeper 文件大小限制 或将它们 存储在集群中每个节点的文件系统 中。 |