Cluster.routing.allocation.awareness.attributes - definition of "prefer to execute"

From the ElasticSearch user guide at

Automatic Preference When Searching / Getting

When executing a search, or doing a get, the node receiving the request
will prefer to execute the request on shards that exists on nodes that
have the same attribute values as the executing node.

What are the conditions that define 'prefer'? Connectivity, load, something
else? We have data nodes in two physically separate locations with around
100ms latency between them. It appears that the majority of requests are
resolved locally but a proportion are suffering from increased latency. Is
there any way to avoid this. I'd like my 'offsite' replicas to be,
effectively, hot spares in case of a local failure.

In addition, I'm assuming that the 'prefer' only kicks in when one or more
cluster.routing.allocation.awareness.attributes are defined, right?

Many thanks in advance.

You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
For more options, visit