• Home
  • LLMs
  • Docker
  • Kubernetes
  • Java
  • Maven
  • About
Apache Solr | SolrJ: CollectionAdminRequest API
  1. Notes
  2. List Collections: CollectionAdminRequest::List
  3. Create Collection: CollectionAdminRequest::Create
  4. Delete Collection: CollectionAdminRequest::Delete
  5. Reload Collection: CollectionAdminRequest::Reload

  1. Notes
    In order for the code bellow to work:

    ► Make sure to update the variables ("solrUrl", "collectionName", ...) with your information.
  2. List Collections: CollectionAdminRequest::List
    final String[] solrUrl = { "http://localhost:8983/solr" };
    
    final CloudSolrClient cloudSolrClient = new CloudSolrClient.Builder(Arrays.asList(solrUrl)).build();
    
    // list collections
    {
        final List<String> collectionsList = CollectionAdminRequest.List.listCollections(cloudSolrClient);
    
        System.out.println("listCollections: " + collectionsList);
    }
    
    cloudSolrClient.close();
  3. Create Collection: CollectionAdminRequest::Create
    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";
    
    // create collection
    {
        final CollectionAdminRequest.Create adminRequest = CollectionAdminRequest.Create
                .createCollection(collectionName, solrZKConfigName, numShards, numReplicas)
                .setMaxShardsPerNode(maxShardsPerNode);
    
        CollectionAdminResponse adminResponse = adminRequest.process(cloudSolrClient);
    
        System.out.println(adminResponse);
    }
    
    cloudSolrClient.close();
  4. Delete Collection: CollectionAdminRequest::Delete
    final String[] solrUrl = { "http://localhost:8983/solr" };
    
    final CloudSolrClient cloudSolrClient = new CloudSolrClient.Builder(Arrays.asList(solrUrl)).build();
    
    final String collectionName = "collection2";
    
    // delete collection
    {
        final CollectionAdminRequest.Delete adminRequest = CollectionAdminRequest.Delete.deleteCollection(collectionName);
    
        CollectionAdminResponse adminResponse = adminRequest.process(cloudSolrClient);
    
        System.out.println(adminResponse);
    }
    
    cloudSolrClient.close();
  5. Reload Collection: CollectionAdminRequest::Reload
    The "RELOAD" action is used when you have changed a configuration in ZooKeeper.
    final String[] solrUrl = { "http://localhost:8983/solr" };
    
    final CloudSolrClient cloudSolrClient = new CloudSolrClient.Builder(Arrays.asList(solrUrl)).build();
    
    final String collectionName = "collection1";
    
    // reload collection
    {
        final CollectionAdminRequest.Reload adminRequest = CollectionAdminRequest.Reload.reloadCollection(collectionName);
    
        CollectionAdminResponse adminResponse = adminRequest.process(cloudSolrClient);
    
        System.out.println(adminResponse);
    }
    
    cloudSolrClient.close();
© 2025  mtitek