I am using Solr 7.2.1. I would to perform full outer join (emit documents from both left and right and if there are common combine them) with solr streaming decorators on two collections and "update" it to a new destination collection. I see "merge" decorator option exists, but this seems to return two JSON document for same id field from these two collections instead of one combined document. The leftOuterJoin seems to do this combining correctly by returning a document with matched "id" field into one document. But leftOuterJoin is not exactly what i want to do, i want to full outer join. Because merge returns two documents with same id, in the destination collection, only second document exists, not both. Is there a way to achieve what i am trying to do? Any help appreciated. Just to give more details, here is something I am doing:
commit( destinationCollection , batchSize=1, update(destinationCollection, batchSize=2, merge(search(col1,q=id:5,fl="id, collection1_field1 ", sort="id asc",qt="/export"),search(col2,q=id:5,fl="id, collection2_field2 ", sort="id asc",qt="/export"),on="id asc") )) Merge Response { "result-set": { "docs": [ { "id": "5", "collection1_field1": 64 }, { "id": "5", "collection2_field2": 0 }, { "EOF": true, "RESPONSE_TIME": 17 } ] } } But i need just one document in the response with combined fields