@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]<mailto:[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]<mailto:[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]<mailto:[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]<mailto:[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]<mailto:[email protected]>
For additional commands, e-mail:
[email protected]<mailto:[email protected]>
--
Sincerely yours
Mikhail Khludnev
--
Sincerely yours
Mikhail Khludnev