Currently the concept of MapReduce shuffling is lumped into the search Streaming Expression. This causes quite a bit of confusion as users sometimes perform a search using the /select handler by default, but actually wanted shuffling behavior which requires the /export handler.
We can solve this problem by creating a separate function called shuffle that always uses the /export handler.
This will also allow us to clean up some behaviors in the search expression that are somewhat unexpected in future tickets.
parallel(workers, unique(shuffle(collection1, q=*:*, fl="id,a_s,a_i,a_f", sort="a_f asc, a_i asc", partitionKeys="a_f"), over="a_f"), workers="2", sort="a_f asc")