2

2 つのシャードを持つ solr クラウドで Java アプリケーションを使用して動的にコアを作成しようとしています。

CloudSolrServer cloudSolrServer = new CloudSolrServer("localhost:9983", new LBHttpSolrServer  ("http://localhost:8983/solr"));
CoreAdminRequest.Create req = new CoreAdminRequest.Create() {

         private static final long serialVersionUID = -8825247378713661625L;

            @Override public SolrParams getParams() { 
            ModifiableSolrParams modifiableSolrParams =      (ModifiableSolrParams) super.getParams();
            modifiableSolrParams.set("collection.configName", "mycore"); 
            return modifiableSolrParams; 
            } 
        };

req.setInstanceDir("/solr/master/mycorepath"); 
req.setCollection("mycore");

CoreAdminResponse res = req.process(cloudSolrServer.getLbServer());

ただし、次のエラーが表示されます: 指定された構成は ZooKeeper:mycore に存在しません

solr 管理コンソールを確認したところ、コレクション「mycore」が完全に作成されておらず [つまり、フォルダー シンボルがない]、「mycore」という名前の構成がないことがわかりました。

どうすればこの問題を解決できますか。2 シャード solr クラウド (solr 4.1.0) でコアを動的に作成する標準的な方法は何ですか?

4

2 に答える 2

1

コレクションAPIを使用して、2つのシャードとレプリカを持たないsolr4.4でコレクションを正常に作成しました

CloudSolrServer cs = new CloudSolrServer("localhost:9983");

CollectionAdminResponse res=CollectionAdminRequest.createCollection("testCollection", 2,   1, 1, "127.0.1.1:7574_solr,127.0.1.1:8983_solr", "myconf", null, cs);

これにより、compositeID ルーターを使用してコレクションが作成されます

myconfは、クラスターの起動時に Zoo keeper にアップロードされた構成名です。

于 2014-01-17T09:43:02.440 に答える