List of usage examples for org.apache.solr.client.solrj.request CoreAdminRequest mergeIndexes
public static CoreAdminResponse mergeIndexes(String name, String[] indexDirs, String[] srcCores, SolrClient client) throws SolrServerException, IOException
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(); }