I don't think this is a hack. This is how it's supposed to work with elasticutils.

http://elasticutils.readthedocs.org/en/latest/searching.html#adding-new-query-actions