This works from a browser:
http://localhost:8981/solr/Collection1/query?q=*&fl=*,subordinate:[subquery]&subordinate.q=*:*&subordinate.fl=*&subordinate.collection=Collection2

One problem you’re having is that “fromIndex” is a _core_ not a collection. See:
https://lucene.apache.org/solr/guide/8_2/transforming-result-documents.html

It’s vaguely possible you could make it work by specifying something like
fromIndex=Collection2_shard1_replica_n1
if it was colocated on the node you’re querying, but you don’t want to go there…

Best,
Erick

> On Aug 12, 2020, at 7:17 AM, Norbert Kutasi <kutasi.norb...@gmail.com> wrote:
> 
> Hi Dominique,
> 
> Sorry, I was in a hurry to create a simple enough yet similar case that we
> face with internally.
> 
> reporting_to indeed is the right field , but the same error still persists,
> something is seemingly wrong when invoking the *subquery *with *fromIndex*
> 
> {
>  params: {
>    q: "*",
>    fq: "*",
>    rows: 5,
> fl:"*,subordinate:[subquery fromIndex=Collection2]",
>    subordinate.fl:"*",
>    subordinate.q:"{!field f=reporting_to v=$row.id}",
>    subordinate.fq:"*",
>    subordinate.rows:"5",
>  }
> }
> 
> {
>  "error":{
>    "metadata":[
>      "error-class","org.apache.solr.common.SolrException",
>      "root-error-class","org.apache.solr.common.SolrException"],
>    "msg":"while invoking subordinate:[subqueryfromIndex=Collection2] on
> doc=SolrDocument{id=stored,indexed,tokenized,omitNorms,indexOptions=DOCS<id:1>,
> first_name=[stored,index",
>    "code":400}}
> 
> Any help much appreciated, hopefully it's an error with the syntax I've
> been using.
> 
> Regards,
> Norbert
> 
> On Wed, 12 Aug 2020 at 12:49, Dominique Bejean <dominique.bej...@eolya.fr>
> wrote:
> 
>> Hi Norbert,
>> 
>> The field name in collection2 is  "reporting_to" not "reporting".
>> 
>> Dominique
>> 
>> 
>> 
>> Le mer. 12 août 2020 à 11:59, Norbert Kutasi <kutasi.norb...@gmail.com> a
>> écrit :
>> 
>>> Hello,
>>> 
>>> We have been using [subquery] to come up with arbitrary complex
>> hierarchies
>>> in our document responses.
>>> 
>>> It works well as long as the documents are in the same collection however
>>> based on the reference guide I infer it can bring in documents from
>>> different collections except it throws an error.
>>> 
>>> 
>> https://lucene.apache.org/solr/guide/8_2/transforming-result-documents.html#subquery
>>> 
>>> 
>>> We are on SOLR 8.2 and in this sandbox we have a 2 node SOLRCloud
>> cluster,
>>> where both collections have 1 shard and 2 NRT replicas to ensure nodes
>> have
>>> a core from each collection.
>>> Basic Authorization enabled.
>>> 
>>> Simple steps to reproduce this issue in this 2 node environment:
>>> ./solr create -c Collection1 -s 1 -rf 2
>>> ./solr create -c Collection2 -s 1 -rf 2
>>> 
>>> Note: these collections are schemaless, however we observed the ones with
>>> schemas.
>>> 
>>> Collection 1:
>>> <add>
>>>   <doc>
>>>      <field name = "id">1</field>
>>>      <field name = "first name">John</field>
>>>   </doc>
>>>   <doc>
>>>      <field name = "id">2</field>
>>>      <field name = "first name">Peter</field>
>>>   </doc>
>>> </add>
>>> 
>>> Collection 2:
>>> <add>
>>>   <doc>
>>>      <field name = "id">3</field>
>>>      <field name = "first name">Thomas</field>
>>> <field name = "reporting_to">2</field>
>>>   </doc>
>>>   <doc>
>>>      <field name = "id">4</field>
>>>      <field name = "first name">Charles</field>
>>>      <field name = "reporting_to">1</field>
>>>   </doc>
>>>   <doc>
>>>      <field name = "id">5</field>
>>>      <field name = "first name">Susan</field>
>>> <field name = "reporting_to">3</field>
>>>   </doc>
>>> </add>
>>> 
>>> 
>>> http://localhost:8983/solr/Collection1/query
>>> {
>>>  params: {
>>>    q: "*",
>>>    fq: "*",
>>>    rows: 5,
>>> fl:"*,subordinate:[subquery fromIndex=Collection2]",
>>>    subordinate.fl:"*",
>>>    subordinate.q:"{!field f=reporting v=$row.id}",
>>>    subordinate.fq:"*",
>>>    subordinate.rows:"5"
>>>  }
>>> }
>>> 
>>> {
>>>  "error":{
>>>    "metadata":[
>>>      "error-class","org.apache.solr.common.SolrException",
>>>      "root-error-class","org.apache.solr.common.SolrException"],
>>>    "msg":"while invoking subordinate:[subqueryfromIndex=Collection2] on
>>> 
>>> 
>> doc=SolrDocument{id=stored,indexed,tokenized,omitNorms,indexOptions=DOCS<id:1>,
>>> first_name=[stored,index",
>>>    "code":400}}
>>> 
>>> 
>>> Where do we make a mistake?
>>> 
>>> Thank you in advance,
>>> Norbert
>>> 
>> 

Reply via email to