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 > >