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

Reply via email to