Example usage for org.apache.solr.client.solrj.request CoreAdminRequest mergeIndexes

List of usage examples for org.apache.solr.client.solrj.request CoreAdminRequest mergeIndexes

Introduction

In this page you can find the example usage for org.apache.solr.client.solrj.request CoreAdminRequest mergeIndexes.

Prototype

public static CoreAdminResponse mergeIndexes(String name, String[] indexDirs, String[] srcCores,
            SolrClient client) throws SolrServerException, IOException 

Source Link

Usage

From source file:fr.cnes.sitools.metacatalogue.common.HarvesterUtils.java

License:Open Source License

public static void merge(Collection<HarvesterModel> models) throws SolrServerException, IOException {
    HarvesterSettings settings = HarvesterSettings.getInstance();
    Logger logger = settings.getLogger();

    String metacatalogueIndexerUrl = HarvesterSettings.getInstance().getString("METACATALOG_INDEXER_URL");
    String metacatalogueIndexerCoreName = HarvesterSettings.getInstance()
            .getString("METACATALOG_INDEXER_CORE_NAME");

    String mergeServerUrl = metacatalogueIndexerUrl + "/" + metacatalogueIndexerCoreName;
    SolrServer serverMetacatalogue = SolRUtils.getSolRServer(mergeServerUrl);

    String serverUrl = metacatalogueIndexerUrl;
    SolrServer server = SolRUtils.getSolRServerWithoutCheck(serverUrl);

    serverMetacatalogue.deleteByQuery("*:*");
    serverMetacatalogue.commit();/*from  ww  w  .ja v a2  s. c  o m*/
    for (HarvesterModel harvesterModel : models) {
        try {
            String[] cores = { harvesterModel.getId() };
            CoreAdminRequest.mergeIndexes(metacatalogueIndexerCoreName, new String[0], cores, server);
            logger.log(Level.INFO, "Merge index : " + harvesterModel.getId());
        } catch (SolrServerException e) {
            logger.log(Level.INFO, "Cannot merge index : " + harvesterModel.getId());
        } catch (IOException e) {
            logger.log(Level.INFO, "Cannot merge index : " + harvesterModel.getId());
        }
    }
    serverMetacatalogue.commit();

}