Well. I certainly haven't invoked RTG by this way. You might need to debug
and understand what's going on. I briefly looked through code, maybe
supplying shards param is an option  (see
RealTimeGetComponent.createSubRequests(ResponseBuilder)), but it implies
"gathering cloud info".

On Wed, Aug 1, 2018 at 9:59 AM Nicolas Franck <[email protected]>
wrote:

> @Mikhail Khludnev: thanks for your response
>
> You mean something like this (source collection is "collection1", and I
> want to query "collection2"):
>
>   SolrClient solrClient = new EmbeddedSolrServer(req.getCore());
>   ModifiableSolrParams newParams = new ModifiableSolrParams();
>   newParams.add("collection","collection2");
>   SolrDocumentList docs = solrClient.getById(ids, newParams);
>
> which is basically the same as:
>
>
> http://localhost:8983/collection1_shard1_replica_n1/select?collection=collection2&&qt=/get&ids=myid
>
> but in both cases, I get this error:
>
>    org.apache.solr.common.SolrException: Can't find shard
> 'collection1_shard1' at
> org.apache.solr.handler.component.RealTimeGetComponent.sliceToShards(RealTimeGetComponent.java:897)
> at
>
>
> apparently it forgets its own cloud information? What am I missing here?
>
> BTW: is it necessary to  recreate a client like this on every request,
> giving the nature of a solrcloud where the shards can change?
>
> On 27 Jul 2018, at 16:04, Mikhail Khludnev <[email protected]> wrote:
>
> Sure, it's up to you. But if for matter of fact, it EmbeddedSolrServer
> request has "collection" param, it pulls shards from zk and executed
> distributed request.
> see
> http://people.apache.org/~mkhl/searchable-solr-guide-7-3/transforming-result-documents.html#cores-and-collections-in-solrcloud
>
> https://github.com/apache/lucene-solr/blob/master/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java#L323
>
> On Fri, Jul 27, 2018 at 11:48 AM Nicolas Franck <[email protected]>
> wrote:
>
>> From what I've seen now, it seems that you can only directly connect to a
>> specific core on your own node,
>> right? Should have expected that: it is local ;-)
>>
>> Then I'll stick to the old solution that worked after all.
>>
>> Thanks for all the advice
>>
>> On 26 Jul 2018, at 14:28, Mikhail Khludnev <[email protected]> wrote:
>>
>> [subquery] calls remote cloud collections if collection parameter (which
>> is somewhat not well known, documented) is supplied
>>
>> https://github.com/apache/lucene-solr/blob/master/solr/core/src/java/org/apache/solr/response/transform/SubQueryAugmenterFactory.java#L334
>>
>>
>> On Thu, Jul 26, 2018 at 3:05 PM Nicolas Franck <[email protected]>
>> wrote:
>>
>>> I'm writing a solr plugin in java that has to query another solr
>>> collection to gather
>>> information. What is the best way to do this?
>>>
>>> For now I'm just using a SolrClient ( CloudSolrClient ), but has several
>>> disadvantages:
>>>
>>> * you have to extract from core metadata where your server resides, and
>>> setup your SolrClient accordingly.
>>> * you are just knocking at the same door
>>> * search has to go over http for the same core.
>>>
>>> Is there a better way? Are there any examples?
>>>
>>> Thanks in advance
>>>
>>> Nicolas Franck
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>>
>>>
>>
>> --
>> Sincerely yours
>> Mikhail Khludnev
>>
>>
>>
>
> --
> Sincerely yours
> Mikhail Khludnev
>
>
>

-- 
Sincerely yours
Mikhail Khludnev

Reply via email to