Thanks a lot @Paul. A did as you said and added an entry in solrconfig.xml for data directory. But when I tried to register an new core it gave me the following error. It seems its not able to pick the core name from ${solr.core.name} [even tried what you mentioned in your last mail, ${core.name} but no luck.
HTTP Status 500 - No system property or default value specified for core.name org.apache.solr.common.SolrException: No system property or default value specified for solr.core.name at org.apache.solr.common.util.DOMUtil.substituteProperty(DOMUtil.java:311) at org.apache.solr.common.util.DOMUtil.substituteProperties(DOMUtil.java:264) at org.apache.solr.common.util.DOMUtil.substituteProperties(DOMUtil.java:272) at org.apache.solr.common.util.DOMUtil.substituteProperties(DOMUtil.java:272) at org.apache.solr.core.Config.<init>(Config.java:105) at org.apache.solr.core.SolrConfig.<init>(SolrConfig.java:113) at org.apache.solr.core.CoreContainer.create(CoreContainer.java:321) at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:107) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131) at org.apache.solr.core.SolrCore.execute(SolrCore.java:1204) at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:303) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:232) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:619) Thanks, KK. 2009/5/19 Noble Paul നോബിള് नोब्ळ् <noble.p...@corp.aol.com> > On Tue, May 19, 2009 at 5:32 PM, KK <dioxide.softw...@gmail.com> wrote: > > Thank you very much Paul. The pictorial explanation was very helpful, > made > > everything clear. Thank you again. > > AFAIU, I can put my existing schema.xml and solrconfig.xml under conf/. I > > assume you also meant passing the paths to common schema and > solrconfig.xml > > when registering a new core? My earlier try gave me some errors when I > tried > > to do the same. I'll start afresh and let you know. > nope the instanceDir is the only attribute you need to pass while > creating the core > > > > Thank you, > > KK. > > > > 2009/5/19 Noble Paul നോബിള് नोब्ळ् <noble.p...@corp.aol.com> > > > >> forget about the default setup that comes w/ the example. > >> > >> say you have the following structure > >> /data/solr/home/ > >> solr.xml > >> conf/ > >> schema.xml > >> solrconfig.xml > >> data/ > >> /c1/ > >> index > >> /c2/ > >> index > >> /c3/ > >> index > >> > >> * your solr.solr.home is /data/solr/home > >> * your common instanceDir will be /data/solr/home/ again. pass this > >> parameter whenever you create a new core. > >> * the conf dir contains the common files required for each core. > >> * in your common solrconfig.xml keep a tag > >> <dataDir>/data/solr/home/data/${solr.core.name}</dataDir> .(my > >> previous mail had a mistake > >> *assume your core names are c1,c2,c3 then solr will automatically > >> create a structure as described above. (no need to create the dirs c1 > >> or c2 or c3) > >> > >> HTH > >> > >> > >> > >> On Tue, May 19, 2009 at 4:28 PM, KK <dioxide.softw...@gmail.com> wrote: > >> > Thanks Paul. > >> > > >> > But I'm a bit confused. I've some questions. > >> > # As you said I should have a base core instance directory containing > the > >> > conf directory, solrconfig.xml and schema.xml. Are you Before > continuing > >> > further I would like to know that the schema and solrconfig files > placed > >> > under the example core0/conf [or core1/conf] look like stripped down > >> version > >> > of what was available in base solrconfig and schema. So I tried > replacing > >> > the stripped down files with the base ones [commenting out the data > >> > directory tag, as I'm using solr.xml @solr.home] for multicore. After > >> > restarting tomcat, surprisingly the core with replaced files didn't > show > >> up > >> > in the solr welcome page [http://localhost/solr] but the other one > was > >> there > >> > and I moved around all the admin pages and others. If we are going to > >> make > >> > use of this stripped down schema and config files then what about all > >> those > >> > things that were mentioned in the base file[I see a lot of handlers, > >> filter > >> > factories and many many things], how are we going to make sure that > they > >> get > >> > loaded when solr wakes up. Or the stripped down files are good enough. > I > >> > need proper guidance on this as I'm still learning to make use of this > >> > wonderful tool called Solr. Thank you Solr guys. > >> > > >> > # You said that I can put the data directory tag things in the > >> > solrconfig.xml for solr1.3. I agree but where is the file. Are you > >> talking > >> > about the stripped down solrconfig. If yes then this doesnot have any > >> data > >> > directory entry but the base solrconf file has this entry, though. If > you > >> > meant adding the entry in the stripped one, do confirm me. I'll give > it a > >> > try. > >> > > >> > Thanks, > >> > KK. > >> > > >> > 2009/5/19 Noble Paul നോബിള് नोब्ळ् <noble.p...@corp.aol.com> > >> > > >> >> On Tue, May 19, 2009 at 2:08 PM, KK <dioxide.softw...@gmail.com> > wrote: > >> >> > Hi All, > >> >> > Finally I made the multicore thing running by copying the core0 and > >> core1 > >> >> > directory to $solr.home and putting a solr.xml file under the same > >> >> > directory. A bit relieved ! > >> >> > I would like to do on-the-fly registration of core[I've provision > to > >> add > >> >> > unique corenames everytime I register a new one] and as per the > basic > >> >> > requirements mentioned in the wiki[ > >> http://wiki.apache.org/solr/CoreAdmin] > >> >> I > >> >> > did the following: > >> >> > 1. set persistent="true" and sharedLIb="lib" > >> >> > For this I actually copied the file given in wiki and put it under > >> >> > solr.home. Started tomcat and tried to register a new core named > core3 > >> >> like > >> >> > this[I'm running solr on 8080] > >> >> > http://localhost:8080/solr/admin/cores?action=CREATE&name=core2 > >> >> > and the browser gave me error saying that instanceDir is missing, > >> Agreed > >> >> > its missing but do I need to provide the path to a new directory > >> >> everytime a > >> >> > register a new core or any old core'x directory will do the job? > Then > >> I > >> >> > copied an existing directory core0 to core2 with all its /bin and > >> /conf > >> >> and > >> >> > other stuffs. Then I tried to refresh the earlier page in firefox > and > >> WOW > >> >> it > >> >> > worked. Then to confirm that the new core details has been added to > >> >> solr.xml > >> >> > I cross checked the file and found a new entry for core2. Its > working. > >> >> > > >> >> > Now let me mention what I want to do, > >> >> > # I want multiple cores, true but all the core will essentially > have > >> the > >> >> > same schema and config as well. > >> >> > # I want separete index for each core so that during posting and > >> >> searching I > >> >> > can search a specific core > >> >> > > >> >> > Now I've certain doubts about these things. > >> >> > 1. Do we have to create a new directory with all those /bin and > /conf > >> >> > everytime we've to register a new core. This sounds silly and I'm > >> pretty > >> >> > sure I must be wrong . There must be some way to just say that : > >> Create > >> >> this > >> >> > new core having the core name as ABXZ. The wiki does say the last > >> three > >> >> > parameters are optinal [Wiki:Note that config ,schema & dataDir > >> >> parameters > >> >> > are optional.] Can't we have some base schema and config file say > >> under > >> >> > $solr.home [or may be somewhere else if that creates problem] and > >> >> everytime > >> >> > we create a new core just point to those. Can someone give me > direct > >> >> > examples for the same[the wiki does say about this but I'm not > >> completely > >> >> > clear about that, some examples will do the job]. > >> >> > 2. Do we have to make sure that the data directory is sitting > inside > >> >> coreX > >> >> > directory, or we can put it elsewhere? > >> >> > >> >> you don't have to create conf dir and schema.xml and solrconfig.xml > >> >> for each core separately. keep one instance dir where you have the > >> >> conf dir and its contents. pass the instanceDir when you create a new > >> >> core. > >> >> > >> >> if you are using 1.3 > >> >> in the solrconfig.xml , keep the datadir as follows > >> >> > >> >> <dataDir>/data/solr/${core.name}</dataDir> > >> >> > >> >> each core will automatically have a diffferent dataDir > >> >> > >> >> > >> >> > >> >> > > >> >> > Thank you very much. > >> >> > KK. > >> >> > > >> >> > >> >> > >> >> > >> >> -- > >> >> ----------------------------------------------------- > >> >> Noble Paul | Principal Engineer| AOL | http://aol.com > >> >> > >> > > >> > >> > >> > >> -- > >> ----------------------------------------------------- > >> Noble Paul | Principal Engineer| AOL | http://aol.com > >> > > > > > > -- > ----------------------------------------------------- > Noble Paul | Principal Engineer| AOL | http://aol.com >