ES 2.3 brings the reindex API [0], which is an absolute godsend. Also, that is a remarkable amount of computronium brought to bear on what I would charitably describe as a moderately-sized dataset. Is the 500ms query time an absolute hard requirement?
And I may be admitting my ignorance here, but there's also this statement:
"However, Elasticsearch doesn't have a way to efficiently tell us how many documents were returned in a given response."
Are you looking for something above & beyond the "hits" value returned in a query response? Or am I missing something? ex:
{
"responses": [
{
"took": 16,
"timed_out": false,
"_shards": {
"total": 3,
"successful": 3,
"failed": 0
},
"hits": {
"total": 38,
"max_score": null,
"hits": [
{ ...
[0]: https://www.elastic.co/guide/en/elasticsearch/reference/2.3/...