BUY

Indexed full text search



Operating System
CPU
http
Linux
x86
File
Linux
x86-64
File
FreeBSD12
x86-64
File
FreeBSD13
x86-64
File


MMIndex is a high-speed mail indexing and search application for CommuniGate Pro server. Indexing and search can be configured to use the CGIndex module or the FTS3 SQLite module. MMIndex uses the XIMSS protocol to communicate with CommuniGate Pro and supports cluster environment.

The search engine is integrated into the web skins Samoware and Crystal.

Installation instructions:

1) copy the files "mmindex-helper" and "mmindex.cfg" into the base CGPro directory (on every cluster member in cluster environment):

  cp mmindex-helper /var/CommuniGate/
  cp mmindex.cfg /var/CommuniGate/

2) specify the postmaster user credentials and the list of domains and users which mail should be indexed in the file "/var/CommuniGate/mmindex.cfg"; if all the server users mail should be indexed then comment out lines with the domain and users list;

3) add an application helper with the following parameters (on every cluster member in cluster environment):

  Log Level -> "All Info"
  Time-Out -> "5 min"
  Auto-Restart -> "Never"
  Name (the input field after the enabled/disabled select) -> "mmindex-helper"
  Program Name -> "mmindex-helper" ("mmindex-helper --ClusterFrontend" on cluster frontends)

There are following parameters available in the utility configuration file:

   - method: authentication method, PLAIN and CRAM-MD5 are supported;

   - indexdir: the index files directory path relative to users directory in file storage;

   - basedir: CGPro base directory;

   - loglevel: utility log level;

   - indextype: indexing engine type, cgindex and sqlite are supported;

   - indexperiod: minimal indexing time period in seconds, actual indexing time period can be larger depending on the server load (e.g., the first indexing iteration etc.);

   - owInvalidIndex: if equals to "yes" then the utility re-creates the index files if the existing files are corrupted;

   - fuzzyByDefault: if equals to "yes" then the fuzzy search is used by default (available only for cgindex);

   - indexOnDemand: if equals to "yes" then only those users are indexed which have the custom setting UseMMIndex=YES and the preference UseMMIndex=YES (the setting and preference are set up automatically on the first usage of the indexed search in Samoware or Crystal);

   - ignoremailboxlist: list of mailboxes to ignore on indexing, wildcard symbol is supported (e.g., junk* stands for Junk, junk, junk-spam, junk/subfolder etc.).

Both index types (cgindex and sqlite) support the following special symbol:

  * - word ending (e.g., "part*" stands for "parts", "partition" etc.).

The sqlite index type supports also the following special symbols:

  ^ - beginning of line (e.g., "^contract" stands for lines which have "contract" in the beginning);
  "" - exact match (e.g., "contract part" stands for results which contain the corresponding substring, otherwise the query without qoutes returns all results which contain words "contract" and "part");
  - - negation (e.g., the query "contract -part" returns results which contain "contract" excluding the ones which contain "part").

The sqlite index type supports also symbol combining, e.g.:

  ^contract* -part

By default the utility logs are saved in the folder SystemLogs in the CGPro base directory, they can be viewed in the web admin interface in the same way as the CGPro server logs.