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 Dharmendra Jaiswal <dh...@gmail.com> on 2013/10/07 14:02:00 UTC

How to share Schema between multicore on Solr 4.4

I am using Solr 4.4 version with SolrCloud on Windows machine.
Somehow i am not able to share schema between multiple core.

My solr.xml file look like:-
<solr>
<str name="shareSchema">${shareSchema:true}</str>
<solrcloud>
<str name="hostContext">${hostContext:SolrEngine}</str>
<int name="hostPort">${tomcat.port:8080}</int>
<int name="zkClientTimeout">${zkClientTimeout:15000}</int>
</solrcloud>

I have used core.properties file for each core. One of the core (say
collection1) contains schema.xml file and rest will having all the config
file excluding schema.xml.

core.properties file contains
name=<corename>

After deployment 
I am getting following error

collection2:
org.apache.solr.common.SolrException:org.apache.solr.common.SolrException:
Error loading schema resource schema.xml 

Please note that i have provided shareSchema=true in solr.xml file.

Please let me know if anything is missing.
Any pointer will be helpful.

Thanks,
Dharmendra Jaiswal



--
View this message in context: http://lucene.472066.n3.nabble.com/How-to-share-Schema-between-multicore-on-Solr-4-4-tp4093881.html
Sent from the Solr - User mailing list archive at Nabble.com.

Re: How to share Schema between multicore on Solr 4.4

Posted by Erick Erickson <er...@gmail.com>.
bq: ...in the sense that there's only one canonical copy.

Agreed, and as you say that copy is kept in ZooKeeper.....

And I pretty much guarantee that the internal solrconfig object
is NOT shared. I doubt the schema object is shared, but it seems
like it could be with some work.

But the savings potential here is rather small unless you have a
large number of cores. The LotsOfCores option is really, at this
point, orthogonal to SolrCloud, I don't think (and we have some
anecdotal evidence) that they don't play nice together....

Erick

On Wed, Oct 9, 2013 at 12:17 PM, Shawn Heisey <so...@elyograg.org> wrote:
> On 10/9/2013 6:24 AM, Erick Erickson wrote:
>>
>> Hmmm, I hadn't thought about that before. The shareSchema
>> stuff is keyed off the absolute directory (and timestamp) of
>> the schema.xml file associated with a core and is about
>> sharing the internal object that holds the parsed schema.
>>
>> Do you know for sure if the fact that this is coming from ZK
>> actually shares the schema object? 'Cause I've never
>> looked to see and it would be a good thing to have in my
>> head...
>
>
> With SolrCloud, I have no idea whether the actual internal objects are
> shared.  Just now I tried to figure that out from the code, but I don't
> already have an understanding of how that code works, and a quick glance
> isn't enough to gain that knowledge.I can guarantee that you have a much
> deeper understanding of those internals than I do!
>
> My comments were to indicate that SolrCloud creates a situation where the
> config/schema are shared in the sense that there's only one canonical copy.
>
> Thanks,
> Shawn
>

Re: How to share Schema between multicore on Solr 4.4

Posted by Shawn Heisey <so...@elyograg.org>.
On 10/9/2013 6:24 AM, Erick Erickson wrote:
> Hmmm, I hadn't thought about that before. The shareSchema
> stuff is keyed off the absolute directory (and timestamp) of
> the schema.xml file associated with a core and is about
> sharing the internal object that holds the parsed schema.
>
> Do you know for sure if the fact that this is coming from ZK
> actually shares the schema object? 'Cause I've never
> looked to see and it would be a good thing to have in my
> head...

With SolrCloud, I have no idea whether the actual internal objects are 
shared.  Just now I tried to figure that out from the code, but I don't 
already have an understanding of how that code works, and a quick glance 
isn't enough to gain that knowledge.I can guarantee that you have a much 
deeper understanding of those internals than I do!

My comments were to indicate that SolrCloud creates a situation where 
the config/schema are shared in the sense that there's only one 
canonical copy.

Thanks,
Shawn


Re: How to share Schema between multicore on Solr 4.4

Posted by Erick Erickson <er...@gmail.com>.
Shawn:

Hmmm, I hadn't thought about that before. The shareSchema
stuff is keyed off the absolute directory (and timestamp) of
the schema.xml file associated with a core and is about
sharing the internal object that holds the parsed schema.

Do you know for sure if the fact that this is coming from ZK
actually shares the schema object? 'Cause I've never
looked to see and it would be a good thing to have in my
head...


Thanks!
Erick

On Tue, Oct 8, 2013 at 8:33 PM, Shawn Heisey <so...@elyograg.org> wrote:
> On 10/7/2013 6:02 AM, Dharmendra Jaiswal wrote:
>>
>> I am using Solr 4.4 version with SolrCloud on Windows machine.
>> Somehow i am not able to share schema between multiple core.
>
>
> If you're in SolrCloud mode, then you already *are* sharing your schema.
> You are also sharing your configuration.  Both of them are in zookeeper.
> All collections (and all shards within a collection) which use a given
> config name are using the same copy.
>
> Any copies of your config/schema that might be on your disk are *NOT* being
> used.  If you are starting Solr with any bootstrap options, then the config
> set that is in zookeeper might be getting overwritten by whats on your disk
> when Solr restarts, but otherwise SolrCloud *only* uses zookeeper for
> config/schema. The bootstrap options are meant to be used once, and I
> actually prefer to get SolrCloud operational without using bootstrap options
> at all.
>
> Thanks,
> Shawn
>

Re: How to share Schema between multicore on Solr 4.4

Posted by Shawn Heisey <so...@elyograg.org>.
On 10/7/2013 6:02 AM, Dharmendra Jaiswal wrote:
> I am using Solr 4.4 version with SolrCloud on Windows machine.
> Somehow i am not able to share schema between multiple core.

If you're in SolrCloud mode, then you already *are* sharing your 
schema.  You are also sharing your configuration.  Both of them are in 
zookeeper.  All collections (and all shards within a collection) which 
use a given config name are using the same copy.

Any copies of your config/schema that might be on your disk are *NOT* 
being used.  If you are starting Solr with any bootstrap options, then 
the config set that is in zookeeper might be getting overwritten by 
whats on your disk when Solr restarts, but otherwise SolrCloud *only* 
uses zookeeper for config/schema. The bootstrap options are meant to be 
used once, and I actually prefer to get SolrCloud operational without 
using bootstrap options at all.

Thanks,
Shawn