I know, I don't like it either but I couldn't find another way.  There are no hooks into the SearchResponse to mess with the hits once they've been retrieved.  I initially started looking at search_type=count, but that won't work because the clustering needs the search hits internally. I actually hesitated to contribute it but it's going to make a big difference for my application.  I was also half-hoping someone would point out the obvious thing I missed and make it better :)  At least for my purposes, it's not a huge deal if it goes out of sync; the only data I care about from the clustering query is the clusters.  I know that might not be true for everyone, but the response with the search hits included will be unchanged.