HPCC-9683 Fix performance and memory usage issue for huge dataset

Soapplus crashes on inputs that contains a dataset of 1000 or more rows. The
solution is to first try to match on DID before trying to find the best
match overall.

Signed-off-by: mayx <yanrui.ma@lexisnexis.com>