2016-07-14 55 views
0

我是SOLR的新手,並且存在一個目前我無法解決的問題:當我用Zookeeper啓動SOLR雲時,我喜歡使用個人模式創建一個集合。但是,SOLR只加載默認的「example-data-driven-schema」。Solr與Zookeeper和自己的模式

任何建議我應該做什麼才能將我定義的模式給它?

回答

0

要使用自己的模式創建新集合,您需要使用zkCli.shSolrCloud Collection API

特別是,您可以:

一)上傳動物園管理員(在

<my_new_config> 

例子使用Solr的zkCli)爲您的新收集的配置目錄,例如的Solr的ZkCli命令上傳ZooKeeper的變化可以在here找到。 特別是,如果你要上傳的ZK配置目錄,您可以:

STEP 1)運行命令:

./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:9983 \   -cmd upconfig -confname my_new_config -confdir server/solr/configsets/basic_configs/conf 

STEP 2)重新啓動Solr的節點,所以它們可以拿起配置變化。

請記住,如果要替換現有文件中ZK,你將需要使用zkCli.sh 明確刪除現有一個由動物園管理員,然後PUTFILE命令來添加新的。

b)由瀏覽器調用下面的API:

/admin/collections?action=CREATE&name=<my_collection_name>&collection.configName=<my_new_config> 
+0

謝謝! 但我發現如何在創建新集合時上傳一個configset。我正在通過我的Linux Ubuntu 14 VM的控制檯進行操作。但我得到的問題是這樣的: Configset一旦上傳,並且我改變了configset中的某些東西,我該如何將它重新加載到ZooKeeper中?我刪除了.../zoo_data/Version-2/Directory中的所有日誌 - 日期,並嘗試手動上傳我所有的配置集,但是我得到了SOLR-Error,沒有收集到它的配置。 當我想讓我的更改也進入ZooKeeper時,我還需要一步一步做些什麼? 在雲模式下使用solr-6.0.1。 – Mat

+0

Thx!試過你說的話。創建了一個新的集合,命名爲「MySchemas」,並賦予它「schema_test_configset」,更改了configset託管架構中的顯示名稱,並試圖用各種嘗試更改ZooKeeper內的配置: $ server/scripts/cloud-scripts/zkcli.sh -zkhost localhost :9983 -cmd clear /.../solr-6.0.1/server/solr/configsets/schema_test_configset $ server/scripts/cloud-scripts/zkcli.sh -zkhost localhost:9983 -cmd upconfig -confname schema_test_configs -confdir/.../solr-6.0.1/server/solr/configsets/schema_test_configset/conf ..但更改沒有工作,但也沒有錯誤。怎麼了? – Mat

+0

嗨,你需要重新啓動所有的Solr節點,以便它們能夠獲取你在ZooKeeper上所做的更改。 – AR1