- A -
Index Server Registry Parameters
Microsoft Index Server is controlled by many registry parameters, which can be edited through the use of the regedit program. These registry parameters fall into three different categories: operational parameters, virtual server and catalog parameters, and language-specific parameters.
Because invalid registry parameters can cause serious problems with your Windows NT and Index Server installation, much attention should be placed on correctly editing only those registry parameters for which the user interface does not have an appropriate update capability.
Operational Registry Parameters
The operational registry parameters affect the operation of Microsoft Index Server. Using the regedit program, you can find and edit these parameters under the following path:
HKEY_LOCAL_MACHINE
\SYSTEM
\CurrentControlSet
\Control
\contentindex
Figure A.1 displays the regedit program that shows the operational registry parameters.
Figure A.1. Index Server operational registry parameters.
Listed are the valid Index Server operational registry parameters and a description of each.
- DaemonResponseTimeoutSpecifies a timeout period after which the CiDaemon process should have responded with an appropriate response. One such reason for the CiDaemon to timeout would be because of a looping condition due to a corrupted file.
- EventLogFlagsControls the generation of certain event log messages. []
- FilterContentsIdentifies whether the contents of a file will be filtered or whether only the properties of the file will be filtered. A value of 0 specifies that the contents will not be filtered. Otherwise, the contents and properties will be filtered.
- FilterDirectoriesIdentifies whether directories will be filtered for system properties and displayed in query results. When set to a non-zero value, directories will be filtered.
- FilterFilesWithUnknownExtensionsIdentifies whether files with extensions that have not been registered will be filtered. When set to a value of zero, only registered file types will be filtered.
- FilterRetriesIdentifies the maximum number of times a file will be retried for filtering if there are failures while trying to filter the file.
- ForcedNetPathScanIntervalIdentifies the time interval between forced scans on directories with no notifications.
- GenerateCharacterizationControls the automatic generation of file characterizations (abstracts).
- GrovelIISRegistryControls whether all virtual roots within the Internet Information Server are automatically indexed.
- IsapiDefaultCatalogDirectoryIdentifies the default content index catalog directory.
- IsapiMaxEntriesInQueryCacheIdentifies the maximum number of cached queries.
- IsapiMaxRecordsInResultSetIdentifies the maximum total number of rows to fetch for a single query.
- IsapiMaxRecordsPerGetRowsIdentifies the maximum number of rows that will be returned in a single fetch (get) operation. A result set can be made up of multiple fetches.
- IsapiQueryCachePurgeIntervalIdentifies the time interval under which a query cache item will remain active.
- IsapiRequestQueueSizeIdentifies the maximum number of Web query requests to queue during periods of high server activity.
- IsapiRequestThresholdFactorIdentifies the number of threads per processor beyond which query requests are queued.
- IsapiVirtualServerCatalogsEach key in this section associates a virtual server with a specific catalog. The key name is the IP address of the virtual server (NULL is used for the default server) and the value is the location of the catalog, as it would be entered in the CiCatalog parameter of an .idq file.
- LanguageIdentifies language-specific registry information.
- MasterMergeCheckpointIntervalIdentifies the checkpointing interval for master merge. During master merges, this parameter determines how often data is written to the new master index. This is especially useful when a master merge is paused and restarted.
- MasterMergeTimeIdentifies the time at which a master merge will occur. This value is stored as the number of minutes after midnight.
- MaxActiveQueryThreadsIdentifies the maximum number of concurrently processed asynchronous query threads.
- MaxCharacterizationIdentifies the maximum number of characters in the automatically generated characterization (abstract).
- MaxFilesizeFilteredIdentifies the maximum size of a single file to be filtered using the default filter. If the size of a file exceeds this value, only file properties will be filtered. This limit does not apply for registered file types (that is, those file types that do not use the default filter).
- MaxFilesizeMultiplierIdentifies the maximum amount of data that can be generated from a single file, based on its size. This value is a multiplier and is used in conjunction with the current file size to determine the maximum file size after content indexing. For example, a value of 2 means that a file can generate up to 2 times its size in content index data.
- MaxFreshCountIdentifies the maximum number of newly indexed files that will cause a master merge to be started.
- MaxIdealIndexesIdentifies the maximum number of indexes considered acceptable in an ideal system. If the number of indexes exceeds this value and the system is idle, an annealing merge will take place to bring the total count of indexes to this number.
- MaxIndexesIdentifies the maximum number of persistent indexes in the catalog. If this number is exceeded, a shadow merge will be performed to bring the total below this number.
- MaxMergeIntervalIdentifies the sleep time between merges. Index Server activates this often to determine whether an annealing (most common), shadow, or master merge is necessary.
- MaxPendingDocumentsIdentifies the maximum number of pending documents to be filtered before considering the content index out of date for property queries.
- MaxQueryExecutionTimeIdentifies the maximum execution time of a query. If a query takes more than this amount of CPU time, its processing will be stopped and an error status indicated.
- MaxQueryTimesliceIdentifies the maximum amount of time to execute a query in a single CPU time slice. If more asynchronous queries are active than allowed query threads, a query is put back on the pending queue after this time interval. CPU time slicing is done only after a matching row is found, so the time spent in a time slice may overrun this and a considerable number of rows may be examined in the time slice.
- MaxQueueChunksIdentifies the maximum number of in-memory buffers (queue chunks) for keeping track of pending documents. The higher the number, the less frequently the memory buffers have to be written to disk.
- MaxRestrictionNodesIdentifies the minimum number of restriction nodes created by query normalization. If this value is exceeded, the query will fail with the status of QUERY_E_TOOCOMPLEX. This status message means the query was too complex to be completed because the limit imposed in this registry key has been reached. This key keeps a user from overloading the server's capacity with an overly large query.
- MaxShadowFreeForceMergeIdentifies when a master merge is forced to be executed because the free space on the catalog disk drive has fallen below the MinDiskFreeForceMerge value and the disk space occupied by the shadow indexes exceeds the value of MaxShadowFreeForceMerge.
- MaxShadowIndexSizeIdentifies that a master merge should be started because the disk space occupied by the shadow indexes exceed this percentage of the catalog drive.
- MaxWordListsIdentifies the maximum number of concurrent word lists that can exist.
- MaxWordlistSizeIdentifies the maximum amount of memory consumed by an individual word list. When this limit is reached, only the document being filtered will be added. Additional documents will be re-filed and later placed in another word list. Each unit is 128KB.
- MinDiskFreeForceMergeIdentifies when a master merge should be performed because the free space on the catalog drive has fallen below the value of MinDiskFreeForceMerge and the disk space occupied by the shadow indexes exceeds the value of MaxShadowFreeForceMerge.
- MinIdleQueryThreadsIdentifies the minimum number of idle threads kept alive to process incoming queries.
- MinMergeIdleTimeIdentifies when an annealing merge should be performed because the average system idle time for the last merge check period has been exceeded.
- MinSizeMergeWordlistsIdentifies the minimum combined size of word lists that will force a shadow merge.
- MinWordlistMemoryIdentifies the minimum free memory used for word-list creation.
- PropertyStoreMappedCacheIdentifies the maximum size of memory buffers used for Property Cache.
- ThreadClassFilterIdentifies the priority class of the CiDaemon process. The value 20 is Normal Priority Class, 40 is Idle Priority Class, 80 is High Priority Class, and 100 is Real-time Priority Class.
- ThreadPriorityFilterIdentifies the NormalPriority of the filtering thread within the CiDaemon process.
- ThreadPriorityMergeIdentifies the priority of the merge thread.
Table A.1 contains each of the parameters listed previously and the range of valid data associated with each parameter.
Table A.1. Operational registry parameters.
Registry Parameter
|
Type
|
Default
|
Range
|
DaemonResponseTimeout
|
REG_DWORD
|
5 (minutes)
|
1120
|
EventLogFlags
|
REG_DWORD
|
0x00000002 (Bit Field)
|
07
|
FilterContents
|
REG_DWORD
|
1 (BOOLEAN)
|
0,1
|
FilterDirectories
|
REG_DWORD
|
0 (BOOLEAN)
|
0,1
|
FilterFilesWith
|
REG_DWORD
|
1 (BOOLEAN)
|
0,1
|
UnknownExtensions
|
|
|
|
FilterRetries
|
REG_DWORD
|
4 (tries)
|
110
|
ForcedNetPathScan
|
REG_DWORD
|
120 (minutes)
|
10infinite
|
Interval
|
|
|
|
GenerateCharacterization
|
REG_DWORD
|
1 (BOOLEAN)
|
0,1
|
GrovelIISRegistry
|
REG_DWORD
|
1 (BOOLEAN)
|
0,1
|
IsapiDefaultCatalog
|
REG_SZ
|
|
|
Directory
|
|
|
|
IsapiMaxEntriesIn
|
REG_DWORD
|
10 (entries)
|
5100
|
QueryCache
|
|
|
|
IsapiMaxRecordsIn
|
REG_DWORD
|
5000 (records)
|
11000000
|
ResultSet
|
|
|
|
IsapiMaxRecordsPer
|
REG_DWORD
|
50 (records)
|
101000
|
GetRows
|
|
|
|
IsapiQueryCachePurge
|
REG_DWORD
|
5 (minutes)
|
1120
|
Interval
|
|
|
|
IsapiRequestQueueSize
|
REG_DWORD
|
16 (entries)
|
1100000
|
IsapiRequestThreshold
|
REG_DWORD
|
3 (entries)
|
1100000
|
Factor
|
|
|
|
IsapiVirtualServer
|
SUBKEY
|
|
|
Catalogs
|
|
|
|
Language
|
SUBKEY
|
|
|
MasterMergeCheckpoint
|
REG_DWORD
|
512 (KB)
|
512809
|
Interval
|
|
|
|
MasterMergeTime
|
REG_DWORD
|
0 (minutes)
|
01439
|
MaxActiveQueryThreads
|
REG_DWORD
|
2 (threads)
|
11000
|
MaxCharacterization
|
REG_DWORD
|
320 (characters)
|
20500
|
MaxFilesizeFiltered
|
REG_DWORD
|
256 (KB)
|
0infinite
|
MaxFilesizeMultiplier
|
REG_DWORD
|
8 (number)
|
44294967295
|
MaxFreshCount
|
REG_DWORD
|
5000 (documents)
|
100040000
|
MaxIdealIndexes
|
REG_DWORD
|
5 (indexes)
|
2100
|
MaxIndexes
|
REG_DWORD
|
50 (indexes)
|
10150
|
MaxMergeInterval
|
REG_DWORD
|
10 (minutes)
|
160
|
MaxPendingDocuments
|
REG_DWORD
|
32 (documents)
|
150000
|
MaxQueryExecutionTime
|
REG_DWORD
|
10000 (milliseconds)
|
50infinite
|
MaxQueryTimeslice
|
REG_DWORD
|
50 (milliseconds)
|
11000
|
MaxQueueChunks
|
REG_DWORD
|
20 (# of chunks)
|
1030
|
MaxRestrictionNodes
|
REG_DWORD
|
250 (# of nodes)
|
14 billion
|
MaxShadowFreeForceMerge
|
REG_DWORD
|
15 (% disk space)
|
525
|
MaxShadowIndexSize
|
REG_DWORD
|
20 (% disk space)
|
5100
|
MaxWordLists
|
REG_DWORD
|
20 (wordlists)
|
1030
|
MaxWordlistSize
|
REG_DWORD
|
14 (units of 128K)
|
10infinite
|
MinDiskFreeForceMerge
|
REG_DWORD
|
15 (% disk space)
|
525
|
MinIdleQueryThreads
|
REG_DWORD
|
1 (threads)
|
01000
|
MinMergeIdleTime
|
REG_DWORD
|
90 (% of CPU)
|
10100
|
MinSizeMergeWordlists
|
REG_DWORD
|
1024 (KB)
|
102410240
|
MinWordlistMemory
|
REG_DWORD
|
5 (MB)
|
110
|
PropertyStoreMappedCache
|
REG_DWORD
|
16 (64K pages)
|
0infinite
|
ThreadClassFilter
|
REG_DWORD
|
40 (Class number)
|
20, 40, 80, 100
|
ThreadPriorityFilter
|
REG_DWORD
|
Above Normal (priority)
|
LowestAbove Normal
|
ThreadPriorityMerge
|
REG_DWORD
|
Normal (priority)
|
LowestAbove Normal |
Virtual Servers and Catalogs Registry Parameters
The virtual servers and catalogs registry parameters associate a virtual server with a specific catalog. The key name is the IP address of the virtual server. The key name NULL signifies the default server. Using the regedit program, you can find and edit these parameters under the following path:
HKEY_LOCAL_MACHINE
\SYSTEM
\CurrentControlSet
\Control
\contentindex
\IsapiVirtualServerCatalogs
Figure A.2 displays the regedit program with the virtual servers and catalogs registry parameters displayed.
Figure A.2. Index Server virtual servers and catalogs registry parameters.
Currently, the only valid Index Server operational registry parameter is the <IP Address> parameter. A description of the <IP Address> parameter as well as additional information pertaining to this parameter is as follows.
<IP Address>Each IP Address key represents an association of a virtual server with a specific catalog. The <IP Address> parameter is of type REG_SZ with a default pathname of root.
Language-Specific Registry Parameters
Language-specific registry parameters control the selection of word-breaker, stemmer, and noise-word lists for a given language. They also select the error pages returned in response to invalid user and administrator actions. Using the regedit program, you can find and edit these parameters under the following path:
HKEY_LOCAL_MACHINE
\SYSTEM
\CurrentControlSet
\Control
\contentindex
\Language
\language (i.e. English_US)
Figure A.3 displays the regedit program with the language-specific registry parameters displayed. The InstalledLangs value lists the set of languages installed. Each string in the InstalledLangs value names a subkey below the Language key.
Figure A.3. Index Server Language-Specific Registry Parameters
Figure A.4 displays the English_US language-specific registry parameters.
Figure A.4. Index Server English_US Language-Specific Registry Parameters
Within each specific installed language, the following registry entries are recognized:
- ISAPIDefaultErrorFileIdentifies the full virtual path to the generic error template file. This .htx template is processed when none of the specific error pages applies. CiRestriction, CiErrorMessage, and CiErrorNumber can all be referenced.
- ISAPIHTXErrorFileIdentifies the full virtual path to the error page returned in response to errors in the .htx file. CiRestriction, CiErrorMessage, and CiErrorNumber can all be referenced.
- ISAPIIDQErrorFileIdentifies the full virtual path to the error page returned in response to errors in the .idq file. CiRestriction, CiErrorMessage, and CiErrorNumber can all be referenced.
- ISAPIRestrictionErrorFileIdentifies the full virtual path to the error page returned in response to errors in the query restriction (CiRestriction). This is the error page that will be seen most often by users. CiRestriction, CiErrorMessage, and CiErrorNumber can all be referenced.
- LocaleAssociates the registry section with a specific locale.
- NoiseFileIdentifies the file name of the noise-word list for this locale. The file must be located in the %SystemRoot%\System32 directory.
- StemmerClassIdentifies the ActiveX class ID of the class used for locale-specific stemming.
- WBreakerClassIdentifies the ActiveX class ID of the class used to split phrases for this locale.