Custom routing and multiple indexes where shard distribution is uniform

I have an index a with a custom routing field (an int64).

I have a second index b, which is a pseudo-child of a. It shares the same custom routing value as a for "child" documents. In other words, without using a parent-child structure, I can use the routing value to find relevant documents in a and then search in b where b.a_id = a._id and b._routing = a._routing.

Both a and b have the same number of shards and these divide evenly into the number of nodes (let's say 32 shards each and 2 nodes).

My question is this: will ES put documents on the same node for a or b where the routing value is the same, or does it automatically offset the root (0) shard number per index?

Shards can be allocated or moved to any node so are not at all guaranteed to be collocates.

To reword my question, I'm more curious to know if ES will automatically assign hash(key) % node_count = 0 for all indexes by default to node 0 if all indexes have (shard_count % node_count) = 0.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.