Field-Based Indexing

You can use field-based indexing to distribute the indexing load between IDOL servers. This mode is similar to reference-based indexing, except that you configure the document fields that determine which child server to send the document to. Data indexing uses the value of the specified field in the documents being indexed or in which you replace fields.

When you enable field-based indexing, it applies to the DREADD, DREADDDATA, and DREREPLACE index actions. DIH sends DREREPLACE index actions to all child servers, because the DREREPLACE action does not contain the information required to determine which child server contains the original document.

When you use field-based indexing, you cannot alter the number of child servers.

NOTE:

Field-based indexing might prevent deduplication of documents with different field values. You can use field-based indexing only with a KillDuplicates=NONE setting in the [Server] section of the IDOL Server configuration file.

For example:

[Server]
Port=16000
DIHPort=16001
MirrorMode=False
DistributeByFields=True
DistributeByFieldsCSVs=*/DeDupeHash,*/SecondDistributeField
NOTE:

You can use DistributeByFields only when MirrorMode is set to False. DIH will not start if DistributeByFields and MirrorMode are both set to True.

You can also set the BalanceDistributeByFields configuration parameter to balance the distribution of documents that do not contain the specified distribution fields. In this option, DIH sends documents to a random child server if they lack the specified distribution fields.

Field Value-Based Indexing

By default, DIH internally determines how to distribute documents between child servers. This process ensures that DIH always sends duplicate documents to the same child server.

Instead, you can configure DIH to distribute documents to specific child servers when the field contains a specific value.

For example:

[Server]
DistributeByFields=True
DistributeByFieldsCSVs=*/database,*/country
UnknownFieldValueAction=Default
UnknownFieldValueDefaultEngine=0
DistributeOnMultipleFieldValues=True

[DIHEngines]
Number=3

[DIHEngine0]
DistributeByFieldsValues=main

[DIHEngine1]
DistributeByFieldsValues=uk

[DIHEngine2]
DistributeByFieldsValues=backup,france

_HP_HTML5_bannerTitle.htm