A multi-stage aggregation pipeline might help.
Use the indexed search as first stage to find related documents, then use $unwind stage on selected documents, then $match on the next stage again to get the related sub-documents, add a grouping signature then group together by that signature.
This is not a perfect solution though but might at least help for a while until you get a better solution.