We're running a ES 1.7 cluster with an index of ~1.5 million documents, averaging around 20k in size. Our searches generally use a page size of 1000, as we do secondary sorting with live data that isn't available in our ES Index.
We currently have _source disabled for performance reasons. We're interested in turning it on, but we're seeing a significant performance hit from our current field-based approach.
I created mirrored indices, one with _source enabled, one disabled. Both include stored fields, as we would want those for a transitional period.
For one of our sample queries (filtered, heavily faceted), we see response times like:
Index _source disabled
Query returns Fields
120ms response time
Index _source enabled
Query returns Fields
430ms response time
Index _source enabled
Query returns Filtered Source
750ms response time
Even when we don't query for the _source, response times tripled just because there was _source stored in the index.
Beyond that, when we do return filtered _source, rather than stored fields, response times almost double again.
Has anyone else seen issues like this? Any recommendations for mitigating the perf hit?