Configuration File Sections
The DIH configuration file contains several sections that represent different areas that you can configure. For details on all available configuration parameters, refer to the Distributed Index Handler Reference (see Display Online Help).
[AuthorizationRoles]
The [AuthorizationRoles]
defines roles that enable a particular set of actions for particular clients, SSL identities, and GSS principals. You must create a subsection for each authorization role that you define in the [AuthorizationRoles]
configuration section.
For example:
[AuthorizationRoles] 0=AdminRole 1=UserRole [AdminRole] StandardRoles=Admin,Index,ServiceControl Clients=localhost SSLIdentities=admin.example.com [UserRole] StandardRoles=Query,ServiceStatus SSLIdentities=admin.example.com,userserver.example.com
[DistributionIDOLServers] Section
The [DistributionIDOLServers]
section contains settings that determine the location of the IDOL Servers that the DIH communicates with, and the ports by which this communication takes place. There is a separate [IDOLServerN]
subsection for each child server. The child servers can be IDOL Servers, Content components, or child DIH servers.
If you use date-based indexing, you must also configure [DateRangeN]
subsections to specify the date ranges that each child server indexes.
For example:
[DistributionIDOLServers] Number=2 [IDOLServer0] Host=emerson Port=9100 [IDOLServer1] Host=thoreau Port=9100
For non-mirrored systems, you can also create child server groups by specifying more than one child server in a comma-separated list. Each child in the group receives the same data from the parent DIH. For example:
[DistributionIDOLServers] Number=2 [IDOLServer0] Host=DIH1.company.com,DIH2.company.com Port=9100,9100 [IDOLServer1] Host=DIH3.company.com Port=9100
In this example, the DIH distributes data between the three DIH child servers. DIH1
and DIH2
receive the same data (they are mirrored copies of each other), and DIH3
receives a different set of data. The child servers can then distribute data between their respective child servers.
NOTE: If you configure DAH and DIH together in the IDOL Server configuration file, DAH can use the child server groups. However, you cannot also configure virtual databases in the DAH. Refer to the Distributed Action Handler Administration Guide.
[IndexNotify] Section
The [IndexNotify]
section contains parameters that control and enable the automatic generation of index job information for a specified host. For example:
[IndexNotify] Host=10.1.1.10 ACIPort=9100 BatchSize=1 BatchTimeout=10000 ConnectRetries=1 ConnectTimeout=5000
[IndexQueue] Section
The [IndexQueue]
section contains parameters that control the index queue. For example:
[IndexQueue] IndexQueueInitialSize=30000 IndexQueueMaxHistory=4000 IndexQueueMaxPendingItems=100
[License] Section
The [License]
section contains licensing details, which you must not change. For example:
[License] Holder=My Company Key=01234567890 Operations=803|87sdhsdf9n94nmsf7oasda987w4yriasunfaasd
[Logging] Section
The [Logging]
section lists the logging streams that you set up to create separate log files for different log message types (query, index, and application). It contains a section for each of the listed logging streams, in which you configure the settings that determine how to log each stream. For example:
[Logging] 0=INDEX_LOG_STREAM 1=QUERY_LOG_STREAM 2=APP_LOG_STREAM [INDEX_LOG_STREAM] LogFile=index.log LogDirectory=./logs/DIHIndexLogs LogHistorySize=55 LogTime=True LogEcho=True LogMaxSizeKbs=1024 LogTypeCSVs=index LogLevel=full LogExpireAction=datestamp [QUERY_LOG_STREAM] LogFile=query.log LogDirectory=./logs/DIHQueryLogs LogHistorySize=50 LogTime=True LogEcho=True LogMaxSizeKbs=1024 LogTypeCSVs=query LogLevel=full LogExpireAction=consecutive [APP_LOG_STREAM] LogFile=application.log LogDirectory=./logs/DIHAppLogs LogHistorySize=50 LogTime=True LogEcho=True LogMaxSizeKbs=1024 LogTypeCSVs=application LogLevel=full LogExpireAction=datestamp
NOTE: The query logs truncate all queries to 4,000 characters.
[Paths] Section
The [Paths]
section contains settings that determine where to store index data and other files. For example:
[Paths] Main=./main Incoming=./incoming Archive=./archive Failed=./failedTasks
[RoundRobinMode] Section
The [RoundRobinMode]
section contains settings that control data indexing when you use round robin mode. Use settings in [DAHServerN]
sections to configure the child servers for powerup and shutdown when round robin data indexing rollover occurs. For example:
[RoundRobinMode] ServerImmediateStart=2 NextServerStartTime=00:00 NextServerStartDate=2006/10/20 PeriodInSec=86400 RoundRobinMode=True [DAHServer0] Host=host1 Port=9060 ShutDownEnginePeriods=0,-1 [DAHServer1] Host=host2 Port=9060 StartUpEnginePeriods=-2
[Server] Section
The [Server]
section contains general settings for indexing. For example:
[Server] DIHPort=9071 Port=9070 MirrorMode=True ArchiveMode=True ArchiveFailedTasks=True
[Service] Section
The [Service]
section contains settings that determine which machines have permission to use and control the DIH service. For example:
[Service] ServicePort=9072
[SSLOptionN] Section
The [SSLOptionN]
section contains settings that determine incoming or outgoing SSL connections between the DIH and other servers.
For example:
[SSLOption0] SSLMethod=TLSV1.3 SSLCertificate=host1.crt SSLPrivateKey=host1.key [SSLOption1] SSLMethod=TLSV1.3 SSLCertificate=host2.crt SSLPrivateKey=host2.key SSLPrivateKeyPassword=sample1XQ SSLCheckCommonName=True
NOTE: You must create an SSLOption
section for each unique value set by the SSLConfig
parameter in the [IDOLServerN]
section, or the [DIHEngineN]
section.
Example Configuration File
[Service] ServicePort=9072 [Server] Port=9070 DIHPort=9071 MirrorMode=True [DistributionIDOLServers] Number=2 [IDOLServer0] Host=localhost Port=5502 [IDOLServer1] Host=localhost Port=5602 [Logging] 0=INDEX_LOG_STREAM 1=QUERY_LOG_STREAM 2=APP_LOG_STREAM [INDEX_LOG_STREAM] LogFile=index.log LogTypeCSVs=index LogHistorySize=50 LogTime=True LogEcho=True LogMaxSizeKbs=1024 LogExpireAction=datestamp [QUERY_LOG_STREAM] LogFile=query.log LogTypeCSVs=query LogEcho=True [APP_LOG_STREAM] LogFile=application.log LogTypeCSVs=application LogEcho=True [Paths] IncomingPath=./incoming LogPath=./logs