I'm migrating from ES 1.1.1 to 2.4.1, and have run into an issue while testing some parent/child queries.
Specifically, some has_child queries were taking a long time to return as compared to the old cluster (2-3+ seconds vs ~500ms). This is tested via curl, and I'm using the returned "took" field as the timing. I was unable to find the queries in the slow query logs, so ended up dropping the warn time down to 0ms to log everything. When I actually found the queries, the logs are reporting a much more acceptable ~500ms as the old cluster was, but the queries are still taking much longer to actually return via curl.
Does anyone have any idea why such a discrepancy would exist? The cluster is actively being indexed into (pretty constantly), but isn't being used for any searches yet. Non has_child queries (I haven't tested has_parent yet, as they never performed well enough for me to use in the old cluster) are returning fast as expected. I am using custom routing for what it's worth.