Description of the HomeDir, PrivateDir, and TempFileDir option settings.
The "HomeDir" directory is the location of options files, such as the alphabet, noise word list, file type table, and executable components such as file parsers. This directory can be a shared network directory and is usually where the dtSearch Engine DLL is located. If no Home directory is supplied, the dtSearch Engine will attempt to determine the location of its home directory using Windows system calls.
The "PrivateDir" directory is designed as a per-user alternative to the HomeDir, which can be a shared network directory with a centralized set of read-only files. PrivateDir, if non-blank, must be unique for each concurrent user. Because of this, most applications should leave PrivateDir blank and should specify the full path and filename of options files.
If an application specifies only a filename for an options file such as Options.NoiseWordFile, dtSearch will look for this file first in the PrivateDir and, if the file is not found there, dtSearch will look for the file in the HomeDir. For example, if the application sets Options.NoiseWordFile to "noise.dat", then an end-user could override the default noise.dat file in the HomeDir by creating a different noise.dat file in the PrivateDir. If an application specifies a full path and filename in Options.NoiseWordFile, then dtSearch will only look in this location and the values of HomeDir and PrivateDir will not affect where dtSearch looks for the noise word list.
The dtSearch Engine automatically loads external file parsers, such as dtv_rar.dll and dtv_ifilter.dll, from the viewers subdirectory of the Home directory.
In addition to option files, dtSearch looks in the HomeDir for the following:
- A "cmap" folder containing the Adobe cmap files needed to parse PDF files.
- A "wordnet" folder containing the WordNet thesaurus. dtSearch will also look in HomeDir\..\wordnet for the WordNet files (that is, a folder parallel to the HomeDir folder).
- An icuconfig.xml file specifying where to find the ICU components.
- The viewers folder with external file parsers.
Beginning with dtSearch version 7.93, you can place a homedir.xml file in the HomeDir to specify relative or absolute locations for the data files, viewers folder, and icuconfig.xml file. This makes it possible to consolidate all reference data files in one location and to separate reference data files from executables. Example:
When the dtSearch Engine finds this homedir.xml file at startup, it will look for data files in the ..\data folder rather than in the HomeDir. This will change the expected locations for data files as follows, assuming the HomeDir is c:\SampleApp\bin.
Cmap files: c:\SampleApp\data\cmap
WordNet thesaurus files: c:\SampleApp\data\wordnet
Option files: c:\SampleApp\data will be searched after the PrivateDir instead of c:\SampleApp\bin
You can also specify the location of external file parser DLLs directly using ViewerLibraries instead of ViewersDir, like this:
This makes it possible to deploy external file parser DLLs without a separate "viewers" folder. If the name does not include an extension, the appropriate extension for the platform (.dll, .so, .dylib) will be used.
Use TempFileDir to control the location of most temporary files that the dtSearch Engine creates, such as temporary files used for large file conversion operations or extraction of large documents stored in containers. If TempFileDir is blank, these files will be stored either in the PrivateDir or the Windows TEMP folder. dtSearch automatically deletes these temp files when the related operation is completed.
Temporary file lists and sort buffers created during indexing are stored in the location specified by IndexJob.TempFileDir, or in the index folder if IndexJob.TempFileDir is blank.
No inialization is required to use the dtSearch Engine, but it is recommended that the option settings be initialized at least once before the first indexing or searching job is executed. If this is not done, the dtSearch Engine will create and use a set of default settings.