使用ConfigSets API

2018-01-10 10:15 更新

ConfigSets API使您可以創(chuàng)建、刪除和以其他方式管理ConfigSets。

要將使用此API創(chuàng)建的ConfigSet用作集合的配置,請使用Collections API。

此API只能與在SolrCloud模式下運(yùn)行的Solr一起使用。如果您沒有在SolrCloud模式下運(yùn)行Solr,但仍希望使用共享配置,請參閱配置集。

配置API入口點

所有API調(diào)用的基本URL是http://<hostname>:<port>/solr。

  • /admin/configs?action=CREATE:根據(jù)現(xiàn)有的ConfigSet創(chuàng)建一個ConfigSet
  • /admin/configs?action=DELETE:刪除一個ConfigSet
  • /admin/configs?action=LIST:列出所有ConfigSets
  • /admin/configs?action=UPLOAD:上傳一個ConfigSet

創(chuàng)建一個ConfigSet

/admin/configs?action=CREATE&name=name&baseConfigSet=baseConfigSet

根據(jù)現(xiàn)有的ConfigSet創(chuàng)建一個ConfigSet。

創(chuàng)建ConfigSet參數(shù)

創(chuàng)建ConfigSet時支持以下參數(shù)。

  • name

    要創(chuàng)建的ConfigSet。該參數(shù)是必需的。

  • baseConfigSet

    將ConfigSet復(fù)制為基礎(chǔ)。該參數(shù)是必需的。

  • configSetProp.name = value

    從基地的任何ConfigSet屬性覆蓋。

創(chuàng)建ConfigSet響應(yīng)

ConfigSet響應(yīng)將包括請求的狀態(tài)。如果狀態(tài)不是“success”,則會顯示錯誤消息,說明請求失敗的原因。

創(chuàng)建配置集示例

配置集示例的輸入

創(chuàng)建一個名為'myConfigSet'的ConfigSet,它基于'predefinedTemplate'ConfigSet,將不可變屬性重寫為false。

http://localhost:8983/solr/admin/configs?action=CREATE&name=myConfigSet&baseConfigSet=predefinedTemplate&configSetProp.immutable=false

該配置集的輸出

<response>
  <lst name="responseHeader">
    <int name="status">0</int>
    <int name="QTime">323</int>
  </lst>
</response>

刪除配置集

/admin/configs?action=DELETE&name=name

刪除配置集

刪除ConfigSet參數(shù)

  • name

    要刪除的ConfigSet。該參數(shù)是必需的。

刪除ConfigSet響應(yīng)

輸出將包含請求的狀態(tài)。如果狀態(tài)不是“success”,則會顯示錯誤消息,說明請求失敗的原因。

刪除配置集示例

輸入如下:

刪除配置集'myConfigSet'

http://localhost:8983/solr/admin/configs?action=DELETE&name=myConfigSet

輸出如下:

<response>
  <lst name="responseHeader">
    <int name="status">0</int>
    <int name="QTime">170</int>
  </lst>
</response>

列出配置集

/admin/configs?action=LIST

獲取群集中ConfigSet的名稱。

列出配置集示例

輸入如下:

http://localhost:8983/solr/admin/configs?action=LIST

得到輸出:

{
  "responseHeader":{
    "status":0,
    "QTime":203},
  "configSets":["myConfigSet1",
    "myConfig2"]}

上傳一個配置集

/admin/configs?action=UPLOAD&name=name

上傳一個ConfigSet,作為一個壓縮文件發(fā)送。請注意,如果啟用了身份驗證,并且該上傳操作作為已驗證的請求執(zhí)行,則會以“trusted”模式上傳ConfigSet。沒有身份驗證,ConfigSet以“untrusted”模式上傳。使用“untrusted”的ConfigSet創(chuàng)建集合時,以下功能將不起作用:

  • 不會初始化RunExecutableListener,如果在ConfigSet中指定的話。
  • DataImportHandler的ScriptTransformer不會初始化,如果在ConfigSet中指定的話。
  • XSLT變換器(tr參數(shù))不能在請求處理時使用。
  • 如果在ConfigSet中指定,StatelessScriptUpdateProcessor不會初始化。

上傳ConfigSet參數(shù)

  • name

    上傳完成后要創(chuàng)建的ConfigSet。該參數(shù)是必需的。

請求的主體應(yīng)該包含一個壓縮配置集。

上傳ConfigSet響應(yīng)

輸出將包含請求的狀態(tài)。如果狀態(tài)不是“success”,則會顯示錯誤消息,說明請求失敗的原因。

上傳ConfigSet示例

從壓縮文件myconfigset.zip創(chuàng)建一個名為“myConfigSet”的配置集。該壓縮文件必須從conf目錄中創(chuàng)建(即solrconfig.xml必須是zip文件中的頂層條目)。這里是一個關(guān)于如何創(chuàng)建zip文件并上傳的例子。

$ (cd solr/server/solr/configsets/sample_techproducts_configs/conf && zip -r - *) > myconfigset.zip

$ curl -X POST --header "Content-Type:application/octet-stream" --data-binary @myconfigset.zip "http://localhost:8983/solr/admin/configs?action=UPLOAD&name=myConfigSet"

使用unix管道可以實現(xiàn)同樣的效果,不需要創(chuàng)建一個中間的zip文件,如下所示:

$ (cd server/solr/configsets/sample_techproducts_configs/conf && zip -r - *) | curl -X POST --header "Content-Type:application/octet-stream" --data-binary @- "http://localhost:8983/solr/admin/configs?action=UPLOAD&name=myConfigSet"
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號