After having downloaded ICE, edit the scripts and set the configuration variables like index path. An important thing is the mapping of virtual to physical paths in "": it enables the indexer to handle the conversions defined by "aliases" in the http servers config files. Setting "%aliases" correctly is necessary for ICE to produce correct results. Here is an example to demonstrate how to set it.

Normally, a Web server has its documents residing under a specific directory. This is often referred to as a "document root". In order to define a document root, map "/" to the document root directory:

%aliases = (
 '/',      '/usr3/webstuff/documents',
Furthermore, some servers have "Aliases" which define additional mappings between a URL path and a physical directory. These can also be defined in "%aliases":
%aliases = (
 '/projects',   '/usr/stud/proj', 
 '/people',   '/usr3/webstuff/staff', 
 '/',      '/usr3/webstuff/documents',
You normally have to use different path seperators in the path definitions when you are on a Macintosh or PC system. In that case, a path may look like e.g. "usr:foo:bar" (Mac), or "\\usr\\foo\bar" (PC). Please note that this affects only the right side of the aliases mapping - the left side is still a URL, which has a slash ("/") as seperator no matter what plattform you use. Here is an example for a MacOS server:
%aliases = (
 '/',      'usr3:webstuff:documents',
It is important that these are kept up to date whenever changes are being made - perhaps you'll want to add a comment in the servers config files like
  # if you make changes remember to edit "" too!
as a reminder.

Now set up cron in such a way that is being called in regular intervalls in order to create a precomputed index. In case you are curious and want test ICE indexing now, call up for the first time "manually" to create the word index. Under UNIX, make the file executable and execute it from the command line. Under MacOS and Windows, you can double simply double click on its icon.

If you want to use a context specific thesaurus to support searches on your Web server, you must create a thesaurus file. ICE supports the thesaurus interchange format TIF, which defines relationships between terms. The following relationships can be used:

Equals to (is a synonym for)
is abbreviation for
is abbreviated as
Here is an example:
   EQ Picture

   EQ Image

   AB Recommendation

   AF Rec

Implementation of the thesaurus is pretty straightforward, please let me know if you need a really large thesaurus (several hundred terms). The current code works fine for short, technical thesauri.

Using ICE

Call up the cgi interfaces by opening a URL
(This only uses the servers search dialog field for entering search queries). Change cgi-bin if you have mapped some other path to point to your CGI executables. You'll probably want to add a link
  <HREF="/cgi-bin/"> Search this server by keywords </A> 
to your servers homepage. Another useful link is
  <HREF="/cgi-bin/">changed during the last
  seven days </A>
which automatically computes a list of documents that have been modified during that time.

You may also want to customize the ICE forms interface so that it fits with your Web site's style. The Guide to Austrian Beer has an excellent example of using a customized form/script to search all or part of their site.

About ICE / Download / Installation / Troubleshooting / Support /