2017-05-24 11 views
1

私はzookeeper管理構成を使用して作成されたsolrcloudのコレクションを持っています。コレクションの作成に使用されたすべてのコレクション構成ファイルが必要です。私が見つけたオプションは次のとおりです。ZookeeperからSolrコレクション設定をダウンロードするには

  1. Solrcloud UIからすべてのファイルを手動でコピーします。飼育係から

    solrUI->cloud->tree->/collections/<collection-name>

  2. ダウンロードファイル

    /opt/solr/server/scripts/cloud-scripts/zkcli.sh -cmd downconfig -zkhost <zk hosts>/usecasedir -confname <configuration name> -confdir <dir to download>

第二のオプションは、時間の私を大幅に節約ウォルドが、ここでの問題は、私の飼育係は、構成の膨大なリストを持っていると私はわかりませんコレクションを作成するために使用された構成ディレクトリ。

コレクションの作成に使用されたコレクション構成を特定する方法はありますか。

答えて

3

コレクションを作成するために使用されたconfigの情報は、zk自体に格納されています。いくつかの(素晴らしいJQユーティリティを使用して)のbashスクリプトは、あなたが必要なものを行うのに十分である:

  1. 設定が与えられXXXコレクションのために使用されたものを見つける:

    CONFIGNAME=$(curl -L -s "http://localhost:8983/solr/admin/zookeeper?detail=true&path=/collections/XXX" | jq '.znode.data' | cut -d ":" -f2 | tr -d '}"\\') 
    
  2. 今設定をダウンロードしてください:

    /opt/solr/bin/solr zk downconfig -n $CONFIGNAME -d config$CONFIGNAME -z localhost:2181 
    
+0

ありがとうございました –

1

通常、設定のセットは/ configsというディレクトリにあります。 zookeeperがsolrに捧げられている場合、これは通常トップレベルにあり、複数のアプリケーションで使用されている場合はconfigsをサブディレクトリに "zk chroot"するのが一般的です。

あなたが飼育係に適切な場所を見つけたら、configsディレクトリ内の1つのディレクトリには、コレクションの下に、管理UIの「設定名」として表示される名前と一致する必要があります> name_of_your_collection

プロジェクトでのGradleを使用している場合は、アップ/ダウンプロジェクト(バージョン管理にこれらの事を点検したいと思うかもしれない場所)プラグインによって多少平滑化することができる(免責事項:私はこのプラグインを書いた)からのconfigsの負荷

https://plugins.gradle.org/plugin/com.needhamsoftware.solr-gradle

への追加の合併症がありますただし、コレクションが利用可能な場合は注意してくださいg管理対象スキーマの場合、スキーマはスキーマ.xmlにはなく、 "managed-schema"というファイルにあります

フィールドはSchema Rest APIで追加されている可能性があります。その点で少し不明ですが、manage_schemaの名前をschema.xmlに変更し、solrの設定をtake things out of managedモードに変更することもできます。

関連する問題