Configsets
Configsets 是一組在 Solr 安裝中使用的設定檔:solrconfig.xml
、綱要和 資源,例如語言檔、synonyms.txt
和其他。
此類設定(configsets)可以命名,然後由集合或核心參考,讓您可以共用它們,以避免重複。
Solr 隨附兩個範例 configsets,位於 server/solr/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
-
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 叢集中的 Configsets
在 SolrCloud 中,務必了解 configsets 儲存在 ZooKeeper 中,而不是檔案系統中。Solr 的 _default
configset 在初始化時上傳到 ZooKeeper。此 configset 和幾個範例 configsets 仍保留在檔案系統中,但除非將它們與新的集合一起使用,否則 Solr 不會使用它們。
當您在 SolrCloud 中建立集合時,可以指定已命名的 configset。如果您不指定,則會複製 _default
並給予唯一的名稱,供新集合使用。
configset 可以透過 Configsets API 或更直接地透過 bin/solr zk upconfig
上傳到 ZooKeeper。Configsets API 也有一些其他操作,CLI 也是如此。
若要將檔案上傳到已儲存在 ZooKeeper 上的 configset,您可以使用 bin/solr zk cp
。
依預設,ZooKeeper 的檔案大小限制為 1MB。如果您的檔案大於此值,則需要增加 ZooKeeper 檔案大小限制或將它們儲存在叢集中每個節點的 檔案系統上。 |