Hello,

I have a question about solrCloud joining. i knew solrCloud joining can do
join only when index is  not splited to shards, but when i test it, i found
a problem which make me confused.

i tested it on version 8.2

assuming i have 2 collections like sample about "joining" on solr offcial
website,

one collection called "movies", another called "movieDirectors".

movies's fields: id, title, director_id
movieDirectors's fields: id, name, has_oscar

the information of shards and replicas as below, i started two nodes on my
laptop:
[image: image.png]
 moviesDirectors have 2 docs:
[image: image.png]
movies also have 2 docs:
[image: image.png]
everything is ok when i run query with "{!join from=id
fromIndex=movieDirectors to=director_id}has_oscar:true" on both 8983 and
8984, i can got expacted result:
[image: image.png]
but when i run "{!join from=director_id fromIndex=movies
to=id}title:"Dunkirk"" on 8983
got 1 doc and if i filter by "title:Get Out", i got nothing.  i understood
"Get Out" is not exist in 8983.
[image: image.png]
[image: image.png]
but question is coming, when i run "{!join from=director_id
fromIndex=movies to=id}title:"Dunkirk"" on 8984, i got "SolrCloud join:
multiple shards not yet supported movies"
no matter what filter value is.

i found following code:
[image: image.png]

when i run joining from movies on 8983, slice length is 2 as movies have 2
shards. "fromReplica " was assigned in second cycle,  because zkController
name is 8983 and replica name is 8984 in first cycle.

but when run on 8984, "fromReplica" was assigned in first cycle, because
zkController name isand replica name both are 8984 in first cycle, so throw
"SolrCloud join: multiple shards not yet supported" in second cycle.

Thanks for your patience, it's too long. i'm confused about why use this
way to judge "multiple shards", because the result is also wrong running on
8983 even if didnt throw exception. why dont use  slice length>1 to judge
"multiple shards" ? or maybe have other better way?

Please advise.

Thanks in advance!

Reply via email to