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 Kenneth Baltrinic <kb...@bericotechnologies.com> on 2013/03/07 18:35:47 UTC

Cross Collection Queries in Solr4 w/o SolrCloud

We are in the process of upgrading a single instance Solr 3 implementation
to Solr 4.  The instance contains multiple cores that share the same schema
(in fact they share the same instanceDir but with distinct dataDirs).  We
also need the ability to perform cross-index queries.  In Solr3 we have
been using the shards parameter to do this in a manner similar to the
following:

http://solr-box/core1/select?shards=http://solr-box/core2,http://solr-box/core3&q=.
..

The above approach was taken from this blog article:
http://blog.shutupandcode.net/?p=1136

Now, having setup a single instance solr4 server, we are trying the
following:

http://solr-box/core1/select?collection=core2,core3&q=...

The query runs w/o error but only returns results from core1.  The
documentation seems to imply that the collection parameter will only work
if we are using "SolrCloud" aka, solr w/zookeeper, etc.  Since we only need
one solr instance this seems overkill.  Are we missing something?  Is there
way to just use a basic Solr4 setup and still query across collections?

Thanks in advance for any  help.  If I left out needed details I will be
happy to answer questions.

--Ken

Re: Cross Collection Queries in Solr4 w/o SolrCloud

Posted by Kenneth Baltrinic <kb...@bericotechnologies.com>.
Ah thanks for the help.  Actually I tried that first off before I went
researching and found the collection parameter.  However, since you
prompted me, I went back and, looking at my logs, I realize now that I
mangled the shards syntax when I doing my hand coded tests against solr4.
 The syntax is

http://solr-box/core1/select?shards=solr-box/core2,solr-box/core3&q=<http://solr-box/core1/select?shards=http://solr-box/core2,http://solr-box/core3&q=>
.

not

http://solr-box/core1/select?shards=http://solr-box/core2,http://solr-box/core3&q=
.

The latter caused IO errors and lead me to falsely conclude that it did not
work in Solr4.  :(

Again thanks.

--Ken

On Thu, Mar 7, 2013 at 12:46 PM, Mark Miller <ma...@gmail.com> wrote:

> Yes, the collections param is only for SolrCloud.
>
> But if your not using SolrCloud, the same stuff you did on Solr3 should
> work on Solr4…
>
> - Mark
>
> On Mar 7, 2013, at 9:35 AM, Kenneth Baltrinic <
> kbaltrinic@bericotechnologies.com> wrote:
>
> > We are in the process of upgrading a single instance Solr 3
> implementation
> > to Solr 4.  The instance contains multiple cores that share the same
> schema
> > (in fact they share the same instanceDir but with distinct dataDirs).  We
> > also need the ability to perform cross-index queries.  In Solr3 we have
> > been using the shards parameter to do this in a manner similar to the
> > following:
> >
> >
> http://solr-box/core1/select?shards=http://solr-box/core2,http://solr-box/core3&q=
> .
> > ..
> >
> > The above approach was taken from this blog article:
> > http://blog.shutupandcode.net/?p=1136
> >
> > Now, having setup a single instance solr4 server, we are trying the
> > following:
> >
> > http://solr-box/core1/select?collection=core2,core3&q=...
> >
> > The query runs w/o error but only returns results from core1.  The
> > documentation seems to imply that the collection parameter will only work
> > if we are using "SolrCloud" aka, solr w/zookeeper, etc.  Since we only
> need
> > one solr instance this seems overkill.  Are we missing something?  Is
> there
> > way to just use a basic Solr4 setup and still query across collections?
> >
> > Thanks in advance for any  help.  If I left out needed details I will be
> > happy to answer questions.
> >
> > --Ken
>
>

Re: Cross Collection Queries in Solr4 w/o SolrCloud

Posted by Mark Miller <ma...@gmail.com>.
Yes, the collections param is only for SolrCloud.

But if your not using SolrCloud, the same stuff you did on Solr3 should work on Solr4…

- Mark

On Mar 7, 2013, at 9:35 AM, Kenneth Baltrinic <kb...@bericotechnologies.com> wrote:

> We are in the process of upgrading a single instance Solr 3 implementation
> to Solr 4.  The instance contains multiple cores that share the same schema
> (in fact they share the same instanceDir but with distinct dataDirs).  We
> also need the ability to perform cross-index queries.  In Solr3 we have
> been using the shards parameter to do this in a manner similar to the
> following:
> 
> http://solr-box/core1/select?shards=http://solr-box/core2,http://solr-box/core3&q=.
> ..
> 
> The above approach was taken from this blog article:
> http://blog.shutupandcode.net/?p=1136
> 
> Now, having setup a single instance solr4 server, we are trying the
> following:
> 
> http://solr-box/core1/select?collection=core2,core3&q=...
> 
> The query runs w/o error but only returns results from core1.  The
> documentation seems to imply that the collection parameter will only work
> if we are using "SolrCloud" aka, solr w/zookeeper, etc.  Since we only need
> one solr instance this seems overkill.  Are we missing something?  Is there
> way to just use a basic Solr4 setup and still query across collections?
> 
> Thanks in advance for any  help.  If I left out needed details I will be
> happy to answer questions.
> 
> --Ken