Great info, thanks! -- Mark Bennett / New Idea Engineering, Inc. / [email protected] Direct: 408-733-0387 / Main: 866-IDEA-ENG / Cell: 408-829-6513
On Tue, Jun 30, 2009 at 11:06 AM, Chris Hostetter <[email protected]>wrote: > > : Date: Mon, 1 Jun 2009 10:33:50 -0700 > : From: Mark Bennett > : Subject: Complete discussion of Solr "cores" ? (beyond wiki?) > > Mark: catching up on my mail, i don't see much discussion arround your > various questions. > > : However, even after re-reading the wiki entries, I'm still not clear what > is > : meant by "core". The info I find talks about administering multiple > cores, > > I've attempted to clarify that a bit by adding an entry to the terminology > page... > > http://wiki.apache.org/solr/SolrTerminology > Ah, good info! I've also added a quick blurb to the top of: http://wiki.apache.org/solr/CoreAdmin Links frequently reference there without the intro. And added a link from there to: http://wiki.apache.org/solr/MultipleIndexes which also has some info. > > >> Solr Core: Also referred to as just a "Core" This is a running instance > >> of a Solr index along with all of it's configuration (SolrConfigXml, > >> SchemaXml, etc...). A single Solr application can contain 0 or more > >> cores which are run largely in isolation but can communicate with each > >> other if necessary via the CoreContainer. From a historical > >> perspective: Solr initially only supported one index, and the SolrCore > >> class was a singleton for coordinating the low level functionality at > >> the "core" of Solr. When support was added for creating and managing > >> multiple Cores on the fly, the class was refactored to no longer be a > >> Singleton, but the name stuck. > > : But, for example, is an instance directory with a valid solrconfig.xml > and > : schema.xml a valid singular core? Or do you then need to register a core > > An instanceDir is neccessary to create a SolrCore, but a SolrCore is a > running java object that manages access to an index (via request handlers, > and field types etc...) based on those configs. > > : with an arbitrary name? For example, getCoreNames() gives an empty > array, > : even after it's loaded a valid instance dir / config / schema. > > ...hmmm. can you give us a more concrete example of how you are seeing > this. (code, configs, etc...). That may be the expected situation when > running in the legacy "single core" mode (ie: no solr.xml file) but i'm > not 100% certain. Let me dig that up. > : And does a core REQUIRE a process to come up on a port, even for an > instant, > : or can you do some quick tests from the command line with a "static" core > : and not need to bind to a port? > > : And can search operations be done "statically", without the use of TCP/IP > : port, like Lucene can? Do cores support this? > > a Solr Core is really a java run time concept .. typically Solr Cores > existing the Solr app -- which is a webapp, living in a servlet container, > running on a part -- but any java program can use a CoreContainer to bring > up a SolrCore if it wants to (this would be known as Embedded Solr) Somebody (Otis?) had said those were deprecated, though I don't recall why. And to be clear, is an Embedded Core an object that does not need to bring up a TCP/IP port? It can be used with just static or instance calls, without bringing up a listener? > : And when moving from a single to multi core, how much extra configuration > is > : needed? On the one extreme, do multiple cores require a completely > separate > : instance dir, data dir and solrconfig? Or on the other end of the > spectrum, > > again it depends on wether you are talking about the Solr application, or > about embedding SOlr is another applicaiton. In the Solr app you need a > solr.xml file containing info about the multiple cores you want to run, or > at least indicating that you want to run multiple cores and then you can > create them at run time using the CoreAdmin commands. > > if you embed solr then you can declare cores progromaticly in java. > > as for wether you need seperate instanceDir, data dir, and solrconfig ... > you definitely need seperate datadirs, but you can get away with reusing > the same config files if you actuall ywant the SolrCores to all have > identical configs -- if you wnat them to be different, they need to be > different (obviously) > Thanks Hoss! > > > -Hoss > >
