How does UdmSearch stores word information
==========================================

UdmSearch stores only unique words found in document.
If word is appeared several times in document all it's 
weights in different part or the document are binary ORed.

There are three modes of word storage which are currently supported
by UdmSearch: "single","multi" and "crc". Default mode is "single".
Mode is to be selected by "DBMode" command in both indexer.conf 
and search.htm files.

Examples:
DBMode single
DBMode multi
DBMode crc

DBMode does not matter for built-in text files support and works
only in UdmSearch compiled with SQL support.

When "single" is specified, all words are stored in one table
with structure (url_id,word,weight), where url_id is the ID of
the document which is refferenced by rec_id field in "url" table.
Word has "variable char(32)" type.

If "multi" is selected, words will be located in different 13 tables 
depending of their lengths. Structures of these tables are the same
with "single" mode, but fixed length char type is used, which is
usually faster in most databases. This fact makes "multi" mode usually 
faster comparing with "single" mode.

If "crc" mode is selected, UdmSearch will store 32 bit integer
word IDs calculated by CRC32 algorythm instead of words. This
mode requres less disc space and is faster comparing with "single"
and "multi" modes. UdmSearch uses the fact that CRC32 calculates
quite unique check sums for different words. According to our tests
there are only 250 pairs of words have the same CRC in the list of about
1.600.000 unique words. Most of these pairs (>90%) have at least one
misspelled word. Words information is stored in the structure
(url_id,word_id,weight), where word_id is 32 bit integer ID calculated
by CRC32 algorythm. This mode is recommended for big search engines.


Please note that we develop UdmSearch with MySQL as backend and
often have no possibility to test each version it with other databases.
So, if there is no some table definition in create/you_database directory,
you may found MySQL definition for the same table and just adopt it for
your backend. MySQL tables definition should be always up-to-date.
