Nice example! I'll take a look at this today. I believe there was/is a bug with the some of the joins where the "on" parameter is transposing the fields. Its possible that is the case here as well.
Joel Bernstein http://joelsolr.blogspot.com/ On Thu, Jun 7, 2018 at 5:34 AM, Christian Spitzlay < christian.spitz...@biologis.com> wrote: > Hi, > > I noticed that my mail program broke the test case by replacing a double > quote with a different UTF-8 character. > > Here is the test case again and I hope it will work this time: > > intersect( > cartesianProduct(tuple(fieldA=array(a,b,c,c)), fieldA, > productSort="fieldA asc"), > cartesianProduct(tuple(fieldB=array(a,c)), fieldB, productSort="fieldB > asc"), > on="fieldA=fieldB" > ) > > I simplified it a bit, too. I still get one document with fieldA == a. > I would have expected three documents in the output, one with fieldA == a > and two with fieldB == c. > Did I misunderstand the docs of the intersect decorator or have I come > across a bug? > > > Best regards, > Christian Spitzlay > > > > > Am 06.06.2018 um 10:18 schrieb Christian Spitzlay < > christian.spitz...@biologis.com>: > > > > Hi, > > > > I don’t seem to get the behaviour of the intersect() stream decorator. > > I only ever get one doc from the left stream when I would have expected > > more than one. > > > > I constructed a test case that does not depend on my concrete index: > > > > intersect( > > cartesianProduct(tuple(fieldA=array(c,c,a,b,d,d)), fieldA, > productSort="fieldA asc"), > > cartesianProduct(tuple(fieldB=array(c,c,a,d,d)), fieldB, > productSort="fieldB asc"), > > on="fieldA=fieldB“ > > ) > > > > > > The result: > > > > { > > "result-set": { > > "docs": [ > > { > > "fieldA": "a" > > }, > > { > > "EOF": true, > > "RESPONSE_TIME": 0 > > } > > ] > > } > > } > > > > > > I would have expected all the docs from the left stream with fieldA > values a, c, d > > and only the docs with fieldA == b missing. Do I have a fundamental > misunderstanding? > > > > > > Best regards > > Christian Spitzlay > > > > > >