How can I priorize requests easily?

Since you have an LB in front, you can use search preference. Set it to local. Then, if HAProxy decides to hit just one node (if it’s available), that node will take all the load.

This assumes all 3 nodes have all data (number_of_shards=2). And preference applies only to searches, indexing load will be about the same on all 3 anyway (unless you use segment replication).