You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Ken Krugler <kk...@transpac.com> on 2010/06/28 04:41:00 UTC

Re: SolrJ/EmbeddedSolrServer

On May 22, 2010, at 11:25am, Ryan McKinley wrote:

> accidentally hit send...
>
> Eache core can have the dataDir set explicitly.
>
>  <core name="core0" instanceDir="core0">
>    <property name="dataDir" value="/data/core0" />
>  </core>
>  <core name="core1" instanceDir="core1">
>    <property name="dataDir" value="/data/core1" />
>  </core>
>
> If you want to do this with solrj, you would need to manipulate the
> CoreDescriptor objects.

I'm hoping somebody can clarify what's up with the CoreDescriptor  
class, since there's not much documentation.

As far as I can tell, when you create a new SolrCore, it saves off the  
CoreDescriptor you pass in, and does nothing with it.

The constructor for SolrCore also takes a datadir param, so I don't  
see how the CoreDescriptor's dataDir gets used during construction.

And changing the CoreDescriptor's dataDir has no effect, since it's  
essentially a POJO.

So how would one go about changing the dataDir for a core, in a multi- 
core setup?

Thanks,

-- Ken

> On Sat, May 22, 2010 at 2:24 PM, Ryan McKinley <ry...@gmail.com>  
> wrote:
>> Check:
>> http://wiki.apache.org/solr/CoreAdmin
>>
>> Unless I'm missing something, I think you should be able to sort  
>> what you need
>>
>>
>> On Fri, May 21, 2010 at 7:55 PM, Ken Krugler
>> <kk...@transpac.com> wrote:
>>> I've got a situation where my data directory (a) needs to live  
>>> elsewhere
>>> besides inside of Solr home, (b) moves to a different location  
>>> when updating
>>> indexes, and (c) setting up a symlink from <solr_home>/data isn't  
>>> a great
>>> option.
>>>
>>> So what's the best approach to making this work with SolrJ? The  
>>> low-level
>>> solution seems to be
>>>
>>> - create my own SolrCore instance, where I specify the data  
>>> directory
>>> - use that to update the CoreContainer
>>> - create a new EmbeddedSolrServer
>>>
>>> But recreating the EmbeddedSolrServer with each index update feels  
>>> wrong,
>>> and I'd like to avoid mucking around with low-level SolrCore  
>>> instantiation.
>>>
>>> Any other approaches?
>>>
>>> Thanks,
>>>
>>> -- Ken
>>>
>>> --------------------------------------------
>>> Ken Krugler
>>> +1 530-210-6378
>>> http://bixolabs.com
>>> e l a s t i c   w e b   m i n i n g
>>>
>>>
>>>
>>>
>>>
>>

--------------------------------------------
Ken Krugler
+1 530-210-6378
http://bixolabs.com
e l a s t i c   w e b   m i n i n g