Yea sorry the question was if that's a bug and if it should throw an error? The results right now are pretty confusing and I could see it leading to some bugs.
On Mon, Feb 27, 2023 at 5:23 PM t sornin <[email protected]> wrote: > Your join key is reversed. It should be "on=item_id_2=item_id" which only > returns the left stream (first stream param for leftOuterJoin) since there > is no match. > > Hope this helps. > > Mathew > > On Mon, Feb 27, 2023, 4:25 PM Geren White <[email protected]> wrote: > > > Hello, > > > > When testing out joins in solr streams we noticed that when the on clause > > is reversed the results are incorrect and the join will return as if > > everything matched. > > > > For example if you have steamA and streamB with the following tuples: > > > > streamA: > > { > > item_id_1: "123", > > item_id_2: "456" > > } > > > > streamB: > > { > > item_id: "789", > > user_id: "0" > > } > > > > Executing a stream like below: > > leftOuterJoin( > > search(collection-a, q=*:*, fq="item_id_1:123", > fl="item_id_1,item_id_2", > > qt="/export", sort="item_id_2 desc"), > > search(collection-b, > > fq="user_id:0",q="*:*",qt="/export",fl="item_id,user_id",sort="item_id > > desc"), > > on="item_id=item_id_2") > > > > This will return something like this where all tuples are joined even > > though item_id doesn't match item_id_2: > > { > > item_id_1: "123", > > item_id_2: "456", > > item_id: "789", > > user_id: "0" > > } > > > > Note that the first column in the on clause is from the second table. > > > > Is this expected behavior? We're running solr 8.11.1 and noticed it > > while setting up a new query. It's an easy fix to switch the on clause > but > > seems like it should throw an error or handle it properly. Happy to open > up > > a bug ticket if this isn't expected. > > > > Thanks, > > -- > > *Geren White | Senior Director, Engineering* > > *(e)* [email protected] > > > -- *Geren White | Senior Director, Engineering* *(e)* [email protected]
