@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 <m...@apache.org<mailto:m...@apache.org>> 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 <nicolas.fra...@ugent.be<mailto:nicolas.fra...@ugent.be>> 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 <m...@apache.org<mailto:m...@apache.org>> 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 <nicolas.fra...@ugent.be<mailto:nicolas.fra...@ugent.be>> 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: dev-unsubscr...@lucene.apache.org<mailto:dev-unsubscr...@lucene.apache.org> For additional commands, e-mail: dev-h...@lucene.apache.org<mailto:dev-h...@lucene.apache.org> -- Sincerely yours Mikhail Khludnev -- Sincerely yours Mikhail Khludnev