W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在 Solr 中 bin/solr 腳本還可以幫助您創(chuàng)建新的集合(在 SolrCloud 模式下)或核心(在獨(dú)立模式下)或刪除集合。
使用 create 命令檢測 Solr 正在運(yùn)行的模式(獨(dú)立或 SolrCloud),然后根據(jù)模式創(chuàng)建一個(gè)核心或集合。
bin/solr create [options]
bin/solr create -help
-c <name>
要?jiǎng)?chuàng)建的核心或集合的名稱(必需)。例如:
bin/solr create -c mycollection
-d <confdir>
配置目錄。這個(gè)默認(rèn)為_default
。
在 SolrCloud 模式下運(yùn)行時(shí),請參閱下面的 配置目錄和 SolrCloud 部分以獲取關(guān)于此選項(xiàng)的更多詳細(xì)信息。例如:
bin/solr create -d _default
-n <configName>
配置名稱。這與內(nèi)核或集合的默認(rèn)名稱相同。例如:
bin/solr create -n basic
-p <port>
發(fā)送 create 命令的本地 Solr 實(shí)例的端口;默認(rèn)情況下,腳本嘗試通過查找正在運(yùn)行的 Solr 實(shí)例來檢測端口。
如果您在同一臺(tái)主機(jī)上運(yùn)行多個(gè)獨(dú)立的 Solr 實(shí)例,則此選項(xiàng)非常有用,因此要求您具體說明要在哪個(gè)實(shí)例中創(chuàng)建核心。例如:
bin/solr create -p 8983
-s <shards> 或者 -shards
分割集合的分片數(shù)量,默認(rèn)值為1;僅適用于以 SolrCloud 模式運(yùn)行 Solr 的時(shí)候。例如:
bin/solr create -s 2
-rf <replicas> 或者 -replicationFactor
集合中每個(gè)文檔的副本數(shù)量。默認(rèn)值是1(不復(fù)制)。例如:
bin/solr create -rf 2
-force
如果嘗試以 “root” 用戶身份運(yùn)行 create,則腳本將退出,并顯示警告,將 Solr 或針對 Solr 的操作作為 “root” 運(yùn)行會(huì)導(dǎo)致問題??梢杂?-force 參數(shù)覆蓋此警告。例如:
bin/solr create -c foo -force
在 SolrCloud 中創(chuàng)建集合之前,集合使用的配置目錄必須上傳到 ZooKeeper。create 命令支持多個(gè)用例來說明集合和配置目錄的工作方式。您需要做的主要決定是ZooKeeper 中的配置目錄是否應(yīng)在多個(gè)集合中共享。
讓我們通過幾個(gè)例子來說明配置目錄在 SolrCloud 中的工作方式。
首先,如果你沒有提供 -d 或者 -n 選項(xiàng),那么默認(rèn)的配置($SOLR_HOME/server/solr/configsets/_default/conf)會(huì)被上傳到 ZooKeeper,并且使用與集合相同的名稱。
例如,下面的命令將導(dǎo)致 _default 配置被上傳到 ZooKeeper 中的 /configs/contacts:bin/solr create -c contacts。
如果您使用 bin/solr -c contacts2 創(chuàng)建另一個(gè)集合,那么 _default 目錄的另一個(gè)副本將被上傳到 ZooKeeper 下的 /configs/contacts2。
對 "聯(lián)系人" 集合的配置所做的任何更改都不會(huì)影響 contacts2 集合。簡而言之,默認(rèn)行為為您創(chuàng)建的每個(gè)集合創(chuàng)建一個(gè)配置目錄的唯一副本。
您可以使用該 -n 選項(xiàng)覆蓋在 ZooKeeper 中給配置目錄指定的名稱。例如,命令 bin/solr create -c logs -d _default -n basic 會(huì)將server/solr/configsets/_default/conf 目錄上傳到 ZooKeeper /configs/basic。
請注意,我們使用該 -d 選項(xiàng)來指定的配置與默認(rèn)值不同。Solr 在 server/solr/configsets 中提供了幾個(gè)內(nèi)置的配置。但是,您也可以使用該 -d 選項(xiàng)提供到您自己的配置目錄的路徑。比如命令 bin/solr create -c mycoll -d /tmp/myconfigs,將上傳 /tmp/myconfigs 到 ZooKeeper 下的 /configs/mycoll。
重申一下,除非您使用該-n選項(xiàng)覆蓋配置目錄,否則配置目錄將以集合名稱命名。
其他集合可以通過使用 -n 選項(xiàng)指定共享配置的名稱來共享相同的配置。例如,以下的命令將創(chuàng)建一個(gè)新的集合,該集合共享之前創(chuàng)建的基本配置:bin/solr create -c logs2 -n basic。
_default 模式可以隨著數(shù)據(jù)的索引而發(fā)生變化,因?yàn)樗哂袩o模式的功能(即,數(shù)據(jù)驅(qū)動(dòng)改的模式更改)。因此,我們建議您不要在集合之間共享數(shù)據(jù)驅(qū)動(dòng)的配置,除非您確定所有集合都應(yīng)該繼承將數(shù)據(jù)索引到其中一個(gè)集合時(shí)所做的更改。您可以通過以下方式(假設(shè)集合名稱為 mycollection)關(guān)閉集合的無模式功能(即數(shù)據(jù)驅(qū)動(dòng)的模式更改):
curl http://host:8983/solr/mycollection/config -d '{"set-user-property": {"update.autoCreateFields":"false"}}'
delete 命令檢測 Solr 正在運(yùn)行的模式(獨(dú)立或 SolrCloud),然后根據(jù)需要?jiǎng)h除指定的核心(獨(dú)立)或集合(SolrCloud)。
bin/solr delete [options]
bin/solr delete -help
如果以 SolrCloud 模式運(yùn)行,則 delete 命令將檢查您正在刪除的集合使用的配置目錄是否正在被其他集合使用。如果沒有,那么配置目錄也會(huì)從 ZooKeeper 中刪除。
例如,如果您創(chuàng)建了一個(gè)具有 bin/solr create -c contacts 的集合,那么 delete 命令 bin/solr delete -c contacts 將檢查 /configs/contacts 配置目錄是否被任何其他集合使用。如果不是,則 /configs/contacts 目錄從 ZooKeeper 中刪除。
-c <name>
要?jiǎng)h除的核心/集合的名稱(必填)。例如:
bin/solr delete -c mycoll
-deleteConfig
是否也應(yīng)該從 ZooKeeper 中刪除配置目錄。默認(rèn)是true
。
如果其他集合正在使用配置目錄,則即使您將 deleteConfig 作為 true,也不會(huì)刪除它。例如:
bin/solr delete -deleteConfig false
-p <port>
要向其發(fā)送 delete 命令的本地 Solr 實(shí)例的端口。默認(rèn)情況下,腳本嘗試通過查找正在運(yùn)行的 Solr 實(shí)例來檢測端口。
如果您在同一主機(jī)上運(yùn)行多個(gè)獨(dú)立的 Solr 實(shí)例,則此選項(xiàng)非常有用,因此要求您具體指定從哪個(gè)實(shí)例刪除該核心。例如:
bin/solr delete -p 8983
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: