Configsets

Configsets 是一組在 Solr 安裝中使用的設定檔:solrconfig.xml、綱要和 資源,例如語言檔、synonyms.txt 和其他。

此類設定(configsets)可以命名,然後由集合或核心參考,讓您可以共用它們,以避免重複。

Solr 隨附兩個範例 configsets,位於 server/solr/configsets 中,可以用作您自己的基礎。這些範例 configsets 名為 _defaultsample_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 檔案大小限制或將它們儲存在叢集中每個節點的 檔案系統上

禁止的檔案類型

上傳或下載 configSets 時,Solr 不接受所有檔案類型。依預設,排除的檔案類型為

  • class

  • java

  • jar

  • tgz

  • zip

  • tar

  • gz

但是,使用者可以透過向以下任一設定提供以逗號分隔的檔案類型清單(不包含開頭的點,例如 jar,class,csv),來對其系統施加更嚴格或更寬鬆的限制

  • 系統屬性:-DsolrConfigSetForbiddenFileTypes

  • 環境變數:SOLR_CONFIG_SET_FORBIDDEN_FILE_TYPES