<p dir="auto">Currently if you set <code class="notranslate">node.data=false</code> and <code class="notranslate">node.master=false</code> you can set up a load-balancer-ish node that just routes queries to other boxes, but the problem for some setups is that those nodes do the aggregation phase as well.</p>
<p dir="auto">I'd like to have the ability to set up a local ES node that <em>only</em> does proxying to other nodes in the cluster. I.e. it would pick some node, run a query on it, and then that node would ask other machines for data if needed, do the aggregation, and only return results.</p>
<p dir="auto">This would enable me to use ElasticSearch as a daemon on webserving boxes that keeps track of what nodes are currently active / OK,  I could make queries to it on localhost:9200, but because it wouldn't do any aggregation the resources it would eat would be very predictable.</p>
<p dir="auto">We would like an option to have client nodes only do the smart load balancing, not reduce/gathering.</p>
<p dir="auto">We run client nodes on each app server so app servers only talk to ES via the client node on localhost, so we avoid having to use a HTTP load balancer (since it's a single point of failure), and also avoid the extra hop.</p>
<p dir="auto">An option to be able to turn off the reduce/gather phase for a client node would let us decrease memory usage and CPU burn.</p>
<p dir="auto">Thanks!</p>