【问题标题】:Create a collection (including schema.xml and config.xml) in SOLR from SOLRJ从 SOLRJ 在 SOLR 中创建一个集合(包括 schema.xml 和 config.xml)
【发布时间】:2020-07-28 22:44:04
【问题描述】:

我目前正在尝试创建一个系统,在该系统中,我可以根据我拥有的 JSON 模式在 solr 中创建一个集合。我想以编程方式完成所有操作。

【问题讨论】:

  • 在此处查看 arghtype 给出的答案:stackoverflow.com/a/54188896/137650
  • @MatsLindh 以上答案建议了修改托管模式的方法。但我不确定它是否能让我们为新集合创建新模式。
  • 您通过使用 configset API 创建一个新的空配置(基于您需要的任何默认配置 - 可能只是一个 id 字段)来创建配置集,然后通过 Schema 创建它之后的 API。
  • @MatsLindh 非常感谢,您的 cmets 清除了我的方法,我已经完成并开始工作,几天后将发布一个干净的解决方案。

标签: solr solrj


【解决方案1】:

请参考以下代码使用 solrj api 创建新集合。

final String[] solrUrl = { "http://localhost:8983/solr" };
 final CloudSolrClient cloudSolrClient = new CloudSolrClient.Builder(Arrays.asList(solrUrl)).build();
 final String collectionName = "collection2";

    final int numShards = 2;
    final int numReplicas = 2;
    final int maxShardsPerNode = 2;
    final String solrZKConfigName = "_default";

    public String createCollection(){
        final CollectionAdminRequest.Create adminRequest = CollectionAdminRequest.Create
                .createCollection(collectionName, solrZKConfigName, numShards, numReplicas)
                .setMaxShardsPerNode(maxShardsPerNode);

        CollectionAdminResponse adminResponse = adminRequest.process(cloudSolrClient);

        System.out.println(adminResponse);
    }

    cloudSolrClient.close();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-06
    • 2018-04-28
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    • 2016-03-04
    相关资源
    最近更新 更多