Use Consistent Hashing

In the DistributeByReference and simple DistributeByFields modes, you can use consistent hashing mode to create a more flexible DIH architecture. In consistent hashing mode, you can add, remove, or change the weight of child servers in your DIH without having to reindex all your content.


To use consistent hashing, you must have Content component version 10.1.1 or later in your child servers.

In consistent hashing mode, DIH creates a large, fixed number of virtual nodes. You configure the number of virtual nodes to be much larger than your intended number of child servers. DIH assigns the virtual nodes to one or more of your configured child servers.

When you index content, DIH distributes the data between the virtual nodes, according to your distribution mode (DistributeByReference or DistributeByFields). DIH creates a DREVNODE field in each document, which stores details of the virtual node, and then indexes the document to the assigned child servers for the virtual node.


You cannot use consistent hashing mode in a distribution architecture with tiered DIH servers.

You also cannot use consistent hashing mode with DistributeByFieldValues. DistributeByFieldValues determines the child server to send a document to according to a specific value in a field, so it sends data to specific child servers, rather than to virtual nodes.

If you change the number or weight of child servers, DIH can redistribute the virtual nodes between the new set of servers. It modifies its internal mapping to assign the virtual nodes evenly among the new set of servers. It then sends index actions to export data from some servers and index it into others to redistribute the data.