配置集
配置集是一组在 Solr 安装中使用的配置文件:solrconfig.xml
,模式和资源,如语言文件、synonyms.txt
以及其他文件。
这种配置(配置集)可以被命名,然后被集合或核心引用,允许您共享它们以避免重复。
Solr 附带两个位于 server/solr/configsets
中的示例配置集,可以用作您自己的配置集的基础。这些示例配置集名为 _default
和 sample_techproducts_configs
。
用户管理的集群或单节点安装中的配置集
如果您在用户管理的集群或单节点安装中使用 Solr,则配置集在文件系统上进行管理。
每个 Solr 核心都可以在其下方的 <instance_dir>/conf/
目录中拥有自己的配置集。在这里,它没有被命名或共享,也找不到 configset 这个词。在 Solr 的早期,这是唯一的配置方式。
要创建命名的配置集,请在配置集基本目录下面添加一个新目录。配置集将由该目录的名称标识。然后添加一个 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
作为核心属性之一传递。例如,如果您通过 CoreAdmin API 执行此操作
-
V1 API
-
V2 API
curl https://127.0.0.1:8983/admin/cores?action=CREATE&name=mycore&instanceDir=path/to/instance&configSet=configset2
curl -v -X POST -H 'Content-type: application/json' -d '{
"create":[{
"name": "mycore",
"instanceDir": "path/to/instance",
"configSet": "configSet2"}]}'
https://127.0.0.1:8983/api/cores
SolrCloud 集群中的配置集
在 SolrCloud 中,至关重要的是要理解配置集存储在 ZooKeeper 中,而不是文件系统中。Solr 的 _default
配置集在初始化时上传到 ZooKeeper。此配置集和一些示例配置集保留在文件系统中,但 Solr 不会使用它们,除非它们用于新的集合。
在 SolrCloud 中创建集合时,可以指定命名的配置集。如果您不指定,则会复制 _default
并赋予一个唯一的名称,供新集合使用。
可以通过配置集 API 或更直接地通过bin/solr zk upconfig
将配置集上传到 ZooKeeper。配置集 API 也有一些其他操作,同样地,CLI 也有。
要将文件上传到已存储在 ZooKeeper 上的配置集中,可以使用 bin/solr zk cp
。
默认情况下,ZooKeeper 的文件大小限制为 1MB。如果您的文件大于此限制,则需要增加 ZooKeeper 文件大小限制,或者将它们存储在集群中每个节点的文件系统上。 |