Overview

There are several programs in the hl://Dig package.

hldig

Digging is the first step in creating a search database. This system uses the word digging while other systems call it harvesting or gathering. In the ht://Dig system, the program hldig performs the information gathering stage. In this process, the program will act as a regular web user, except that it will follow all hyperlinks that it comes across. (Actually, it will not follow all of them, just those that are within the domain it needs to gather information on...)
Each document it goes to is examined and all the unique words in this document are extracted and stored.

The digging process will only follow links and has no notion of JavaScript, applets, or user-input forms.


htsearch

Searching is where the users actually get to use all the information that was gathered during the dig and merge stages. The htsearch program performs the actual searches. It typically produces HTML output which will be seen by the users, though other text formats could be generated by editing the output templates.


hlmerge

Merging does exactly that--it merges one database into another. In previous versions of ht://Dig, the hlmerge program also formed databases for use by htsearch from the hldig output. This process is now largely unnecessary except for removal of invalid URLs which is now done by the hlpurge program.


hlpurge

Purging removes documents and the associated words from the databases. This should be done after running hldig to remove invalid URLs, documents marked not to be indexed, old versions of modified documents, etc. You can also specify specific URLs to be removed explicitly by hlpurge.


hlload

Loading involves importing the contents of the databases from formatted ASCII text documents as created by hldump or the -t flag from hldig. This is, of course, destructive by nature and data from the text files will replace any conflicting data in the databases.


hldump

Dumping involves exporting the contents of the databases to formatted ASCII text documents. This can be useful for backups, transferring databases between different operating systems, changing the compression or encodings in the ht://Dig configuration, parsing by external utilities. It is not recommended to edit these files by hand, so be warned! (Minor edits will probably be fine.)


hlstat

The hlstat program returns statistics on the databases, similar to the -s flags for some of the programs. In addition, it can return a list of URLs in the databases.


hlnotify

The ht://Dig system includes a handy reminder service which allows HTML authors to add some ht://Dig specific meta information in HTML documents. This meta information is used to email authors after a specified date. Very useful to maintain lists that contain those annoying "new" graphics with new items. (Hint: Things really aren't all that new anymore after 6 months!)


hlfuzzy

To allow the searches to use "fuzzy" algorithms to match words, the hlfuzzy program can create indexes for several different algorithms.