List of usage examples for org.apache.solr.core CoreContainer getCores
public Collection<SolrCore> getCores()
From source file:org.alfresco.solr.AlfrescoSolrUtils.java
License:Open Source License
/** * Gets a SolrCore by name without incrementing the internal counter * @param coreContainer//from w w w .ja va 2 s . c o m * @param coreName * @return SolrCore */ public static SolrCore getCore(CoreContainer coreContainer, String coreName) { return coreContainer.getCores().stream().filter(aCore -> coreName.equals(aCore.getName())).findFirst() .get(); }
From source file:org.alfresco.solr.tracker.CoreWatcherJob.java
License:Open Source License
@Override public void execute(JobExecutionContext jec) throws JobExecutionException { AlfrescoCoreAdminHandler adminHandler = (AlfrescoCoreAdminHandler) jec.getJobDetail().getJobDataMap() .get(JOBDATA_ADMIN_HANDLER_KEY); CoreContainer coreContainer = adminHandler.getCoreContainer(); for (SolrCore core : coreContainer.getCores()) { logIfDebugEnabled("About to enter synchronized block for core " + core.getName()); // Prevents other threads from creating trackers for this core before its trackers are done registering synchronized (core) { logIfDebugEnabled("Entered synchronized block for core " + core.getName()); String coreName = core.getName(); TrackerRegistry trackerRegistry = adminHandler.getTrackerRegistry(); if (!trackerRegistry.hasTrackersForCore(coreName)) { registerForCore(adminHandler, coreContainer, core, coreName, trackerRegistry); }//from ww w. j a v a 2 s . c o m logIfDebugEnabled("Exiting synchronized block for core " + core.getName()); } } }
From source file:org.opencms.search.solr.TestSolrConfiguration.java
License:Open Source License
/** * Tests shutting down Solr.<p>/* www .java 2s . com*/ * * @throws Throwable */ public void testShutDown() throws Throwable { echo("Testing Solr shutdown"); CmsSolrIndex index = new CmsSolrIndex(AllTests.INDEX_TEST); index.setProject("Offline"); index.setLocale(Locale.GERMAN); index.setRebuildMode(CmsSearchIndex.REBUILD_MODE_AUTO); index.setFieldConfigurationName("solr_fields"); index.addSourceName("solr_source2"); OpenCms.getSearchManager().addSearchIndex(index); OpenCms.getSearchManager().rebuildIndex(AllTests.INDEX_TEST, new CmsShellReport(Locale.ENGLISH)); for (int i = 0; i < 250; i++) { index.search(getCmsObject(), "q=*:*"); } // shut down CoreContainer container = ((EmbeddedSolrServer) index.m_solr).getCoreContainer(); for (SolrCore core : container.getCores()) { echo("Open count for core: " + core.getName() + ": " + core.getOpenCount()); } container.shutdown(); // wait for a moment Thread.sleep(500); // success ? CmsFileUtil.purgeDirectory(new File(index.getPath())); assertTrue( "The index folder must be deleted, otherwise some index lock may have prevent a successful purge.", !new File(index.getPath()).exists()); }
From source file:org.springframework.data.solr.AbstractITestWithEmbeddedSolrServer.java
License:Apache License
@BeforeClass public static void initSolrServer() throws IOException, ParserConfigurationException, SAXException, InterruptedException { String solrHome = ResourceUtils.getURL("classpath:org/springframework/data/solr").getPath(); CoreContainer coreContainer = CoreContainer.createAndLoad(solrHome, new File(solrHome + "/solr.xml")); for (SolrCore core : coreContainer.getCores()) { core.addCloseHook(new CloseHook() { @Override// w w w. ja v a2 s . co m public void preClose(SolrCore core) { } @Override public void postClose(SolrCore core) { CoreDescriptor cd = core.getCoreDescriptor(); if (cd != null) { File dataDir = new File(cd.getInstanceDir() + File.separator + "data"); try { FileUtils.deleteDirectory(dataDir); } catch (IOException e) { e.printStackTrace(); } } } }); } solrServer = new EmbeddedSolrServer(coreContainer, "collection1"); }
From source file:org.xwiki.platform.search.internal.SolrjSearchRequest.java
License:Open Source License
/** * @return List of Fields./* ww w . j av a2 s . c o m*/ */ private List<String> getFields() { CoreContainer container = (CoreContainer) searchEngine.getCoreContainer(); SolrCore core = null; for (SolrCore c : container.getCores()) { core = c; } Map<String, SolrInfoMBean> reg = core.getInfoRegistry(); LukeRequestHandler handler = (LukeRequestHandler) reg.get("/admin/luke"); LocalSolrQueryRequest req = new LocalSolrQueryRequest(core, new ModifiableSolrParams()); SolrQueryResponse response = new SolrQueryResponse(); handler.handleRequest(req, response); NamedList list = response.getValues(); List<String> fieldsList = new ArrayList<String>(); for (Object obj : list.getAll("fields")) { SimpleOrderedMap map = (SimpleOrderedMap) obj; Iterator<Map.Entry<String, Object>> entries = map.iterator(); while (entries.hasNext()) { Map.Entry<String, Object> entry = entries.next(); fieldsList.add(entry.getKey()); } } return fieldsList; }
From source file:org.xwiki.platform.search.internal.VelocityUtils.java
License:Open Source License
/** * @param coreContainer CoreContainer.//from ww w . jav a2 s . co m * @param solrServer SolrServer. */ public VelocityUtils(CoreContainer coreContainer, SolrServer solrServer) { this.coreContainer = coreContainer; this.solrServer = solrServer; // Embedded XWiki runs on a single core. for (SolrCore c : coreContainer.getCores()) { this.core = c; } }
From source file:org.xwiki.search.solr.internal.EmbeddedSolrInstance.java
License:Open Source License
private CoreContainer createCoreContainer(String solrHome) throws SolrServerException { CoreContainer coreContainer = new CoreContainer(solrHome); coreContainer.load();/*from w w w. ja va2 s . c o m*/ if (coreContainer.getCores().size() == 0) { throw new SolrServerException( "Failed to initialize the Solr core. " + "Please check the configuration and log messages."); } else if (coreContainer.getCores().size() > 1) { this.logger.warn("Multiple Solr cores detected: [{}]. Using the first one.", StringUtils.join(coreContainer.getCoreNames(), ", ")); } return coreContainer; }
From source file:org.xwiki.search.solr.internal.EmbeddedSolrInstanceInitializationTest.java
License:Open Source License
/** * TODO DOCUMENT ME!/* w w w . j a v a2 s. c om*/ * * @param expected * @throws ComponentLookupException * @throws Exception */ private void getInstanceAndAssertHomeDirectory(String expected) throws ComponentLookupException, Exception { SolrInstance instance = mocker.getInstance(SolrInstance.class, "embedded"); Assert.assertNotNull(instance); EmbeddedSolrInstance implementation = ((EmbeddedSolrInstance) instance); CoreContainer container = implementation.getContainer(); if (expected == null) { expected = implementation.getDefaultHomeDirectory(); } Assert.assertEquals(expected + File.separator, container.getSolrHome()); Assert.assertEquals(1, container.getCores().size()); SolrCore core = container.getCores().iterator().next(); File coreBaseDirectory = new File(container.getSolrHome(), core.getName()); File configDirectory = new File(coreBaseDirectory, DefaultSolrConfiguration.CONF_DIRECTORY); Assert.assertTrue(new File(configDirectory, core.getSchemaResource()).exists()); Assert.assertTrue(new File(configDirectory, core.getConfigResource()).exists()); }