/** * Minimal CoreContainer constructor. * @param loader the CoreContainer resource loader */ public CoreContainer(SolrResourceLoader loader) { this.loader = loader; this.solrHome = loader.getInstanceDir(); }
/** * @deprecated Use {@link SolrResourceLoader#getInstanceDir()} instead. */ @Deprecated public String getInstanceDir() { return loader.getInstanceDir(); } }
/** * Adds every file/dir found in the baseDir which passes the specified Filter * to the ClassLoader used by this ResourceLoader. This method <b>MUST</b> * only be called prior to using this ResourceLoader to get any resources, otherwise * it's behavior will be non-deterministic. * * @param baseDir base directory whose children (either jars or directories of * classes) will be in the classpath, will be resolved relative * the instance dir. * @param filter The filter files must satisfy, if null all files will be accepted. */ void addToClassLoader(final String baseDir, final FileFilter filter) { File base = FileUtils.resolvePath(new File(getInstanceDir()), baseDir); this.classLoader = replaceClassLoader(classLoader, base, filter); }
/** * Adds the specific file/dir specified to the ClassLoader used by this * ResourceLoader. This method <b>MUST</b> * only be called prior to using this ResourceLoader to get any resources, otherwise * it's behavior will be non-deterministic. * * @param path A jar file (or directory of classes) to be added to the classpath, * will be resolved relative the instance dir. */ void addToClassLoader(final String path) { final File file = FileUtils.resolvePath(new File(getInstanceDir()), path); if (file.canRead()) { this.classLoader = replaceClassLoader(classLoader, file.getParentFile(), new FileFilter() { public boolean accept(File pathname) { return pathname.equals(file); } }); } else { log.error("Can't find (or read) file to add to classloader: " + file); } }
.format( "Constructed instance information solr.home %s (%s), instance dir %s, conf dir %s, writing index to solr.data.dir %s, with permdir %s", solrHomeDir, solrHomeDir.toUri(), loader.getInstanceDir(), loader.getConfigDir(), dataDirStr, outputShardDir));
.format( "Constructed instance information solr.home %s (%s), instance dir %s, conf dir %s, writing index to temporary directory %s, with permdir %s", solrHome, solrHome.toUri(), loader.getInstanceDir(), loader.getConfigDir(), dataDir, perm)); CoreContainer container = new CoreContainer(loader); CoreDescriptor descr = new CoreDescriptor(container, "core1", solrHome.toString());
.format( "Constructed instance information solr.home %s (%s), instance dir %s, conf dir %s, writing index to temporary directory %s, with permdir %s", solrHome, solrHome.toUri(), loader.getInstanceDir(), loader.getConfigDir(), dataDir, perm)); CoreContainer container = new CoreContainer(loader); CoreDescriptor descr = new CoreDescriptor(container, "core1", solrHome.toString());
schemaFile = new File(solrLoader.getInstanceDir() + "conf" + File.separator + dcore.getSchemaName());
/** * Get system info */ private static SimpleOrderedMap<Object> getCoreInfo( SolrCore core ) throws Exception { SimpleOrderedMap<Object> info = new SimpleOrderedMap<Object>(); IndexSchema schema = core.getSchema(); info.add( "schema", schema != null ? schema.getSchemaName():"no schema!" ); // Host InetAddress addr = InetAddress.getLocalHost(); info.add( "host", addr.getCanonicalHostName() ); // Now info.add( "now", new Date() ); // Start Time info.add( "start", new Date(core.getStartTime()) ); // Solr Home SimpleOrderedMap<Object> dirs = new SimpleOrderedMap<Object>(); dirs.add( "instance", new File( core.getResourceLoader().getInstanceDir() ).getAbsolutePath() ); dirs.add( "data", new File( core.getDataDir() ).getAbsolutePath() ); dirs.add( "index", new File( core.getIndexDir() ).getAbsolutePath() ); info.add( "directory", dirs ); return info; }
CoreContainer cores = new CoreContainer(new SolrResourceLoader(instanceDir)); SolrConfig solrConfig = new SolrConfig(instanceDir, SolrConfig.DEFAULT_CONF_FILE, null); CoreDescriptor dcore = new CoreDescriptor(cores, "", solrConfig.getResourceLoader().getInstanceDir()); IndexSchema indexSchema = new IndexSchema(solrConfig, instanceDir+"/conf/schema.xml", null); core = new SolrCore( null, dataDir, solrConfig, indexSchema, dcore);
log.info(logid+"Opening new SolrCore at " + resourceLoader.getInstanceDir() + ", dataDir="+dataDir);
this.configFile = configFile; this.loader = new SolrResourceLoader(dir); solrHome = loader.getInstanceDir(); FileInputStream cfgis = new FileInputStream(configFile); try {
@Override public CoreContainer initialize() { CoreContainer container = new CoreContainer(new SolrResourceLoader(SolrResourceLoader.locateSolrHome())); CoreDescriptor dcore = new CoreDescriptor(container, coreName, solrConfig.getResourceLoader().getInstanceDir()); dcore.setConfigName(solrConfig.getResourceName()); dcore.setSchemaName(indexSchema.getResourceName()); SolrCore core = new SolrCore( null, dataDirectory, solrConfig, indexSchema, dcore); container.register(coreName, core, false); return container; } }
protected NamedList<Object> getCoreStatus(CoreContainer cores, String cname) throws IOException { NamedList<Object> info = new SimpleOrderedMap<Object>(); SolrCore core = cores.getCore(cname); if (core != null) { try { info.add("name", core.getName()); info.add("instanceDir", normalizePath(core.getResourceLoader().getInstanceDir())); info.add("dataDir", normalizePath(core.getDataDir())); info.add("startTime", new Date(core.getStartTime())); info.add("uptime", System.currentTimeMillis() - core.getStartTime()); RefCounted<SolrIndexSearcher> searcher = core.getSearcher(); try { info.add("index", LukeRequestHandler.getIndexInfo(searcher.get().getReader(), false)); } finally { searcher.decref(); } } finally { core.close(); } } return info; }
/** * Start up an embedded Solr server. * * @param home The path to the Solr home directory * @return EmbeddedSolrServer: The instantiated server * @throws Exception if any errors occur */ private EmbeddedSolrServer startSolr(String home) throws Exception { try { SolrConfig solrConfig = new SolrConfig(home, SOLR_CONFIG, null); IndexSchema schema = new IndexSchema(solrConfig, SOLR_SCHEMA, null); solrContainer = new CoreContainer(new SolrResourceLoader( SolrResourceLoader.locateSolrHome())); CoreDescriptor descriptor = new CoreDescriptor(solrContainer, "", solrConfig.getResourceLoader().getInstanceDir()); descriptor.setConfigName(solrConfig.getResourceName()); descriptor.setSchemaName(schema.getResourceName()); solrCore = new SolrCore(null, solrConfig.getDataDir(), solrConfig, schema, descriptor); solrContainer.register("cheese", solrCore, false); // CoreAdminRequest.create return new EmbeddedSolrServer(solrContainer, "cheese"); } catch(Exception ex) { log.error("\nFailed to start Solr server\n"); throw ex; } }
private EmbeddedSolrServer buildSolrIndex(String home) throws ParserConfigurationException, IOException, SAXException { SolrConfig solrConfig = new SolrConfig(home, SOLR_CONFIG, null); IndexSchema schema = new IndexSchema(solrConfig, SOLR_SCHEMA, null); solrContainer = new CoreContainer(new SolrResourceLoader( SolrResourceLoader.locateSolrHome())); CoreDescriptor descriptor = new CoreDescriptor(solrContainer, "", solrConfig.getResourceLoader().getInstanceDir()); descriptor.setConfigName(solrConfig.getResourceName()); descriptor.setSchemaName(schema.getResourceName()); SolrCore solrCore = new SolrCore(null, solrConfig.getDataDir(),solrConfig, schema, descriptor); solrContainer.register("cheese", solrCore, false); return new EmbeddedSolrServer(solrContainer, "cheese"); }
/** * Start up an embedded Solr server. * * @param home The path to the Solr home directory * @return EmbeddedSolrServer: The instantiated server * @throws Exception if any errors occur */ private EmbeddedSolrServer startSolr(String home) throws Exception { try { SolrConfig solrConfig = new SolrConfig(home, SOLR_CONFIG, null); IndexSchema schema = new IndexSchema(solrConfig, SOLR_SCHEMA, null); solrContainer = new CoreContainer(new SolrResourceLoader( SolrResourceLoader.locateSolrHome())); CoreDescriptor descriptor = new CoreDescriptor(solrContainer, "", solrConfig.getResourceLoader().getInstanceDir()); descriptor.setConfigName(solrConfig.getResourceName()); descriptor.setSchemaName(schema.getResourceName()); solrCore = new SolrCore(null, solrConfig.getDataDir(), solrConfig, schema, descriptor); solrContainer.register("cheese", solrCore, false); // CoreAdminRequest.create return new EmbeddedSolrServer(solrContainer, "cheese"); } catch(Exception ex) { log.error("\nFailed to start Solr server\n"); throw ex; } }
private EmbeddedSolrServer buildSolrIndex(String home) throws ParserConfigurationException, IOException, SAXException { SolrConfig solrConfig = new SolrConfig(home, SOLR_CONFIG, null); IndexSchema schema = new IndexSchema(solrConfig, SOLR_SCHEMA, null); solrContainer = new CoreContainer(new SolrResourceLoader( SolrResourceLoader.locateSolrHome())); CoreDescriptor descriptor = new CoreDescriptor(solrContainer, "", solrConfig.getResourceLoader().getInstanceDir()); descriptor.setConfigName(solrConfig.getResourceName()); descriptor.setSchemaName(schema.getResourceName()); SolrCore solrCore = new SolrCore(null, solrConfig.getDataDir(),solrConfig, schema, descriptor); solrContainer.register("cheese", solrCore, false); return new EmbeddedSolrServer(solrContainer, "cheese"); }