Communigate LogoCommunigate Logo

Меню

ru

Индексированный поиск

Разработчикам

01.png

Полный список имеющихся пакетов и их версий доступен по ссылке.

MMIndex - это приложение для индексации и поиска почтовых писем, разработанное для использования с сервером CommuniGate Pro. Индексация и поиск могут быть настроены с использованием модуля CGIndex (собственная разработка) или FTS3 (SQLite). MMIndex использует протокол XIMSS для связи с CommuniGate Pro и поддерживает кластерную конфигурацию.

Поиск интегрирован в скины Samoware и Crystal.

Порядок установки и настройки приложения следующий:

1) скопировать файлы "mmindex-helper" и "mmindex.cfg" в базовую директорию CGPro (для кластера - на каждом члене кластера):

 

cp mmindex-helper /var/CommuniGate/

 

cp mmindex.cfg /var/CommuniGate/

2) задать пароль пользователя postmaster, список доменов и пользователей для индексации почты в файле "/var/CommuniGate/mmindex.cfg"; если требуется индексировать всю почту на сервере, закомментировать строки со списком доменов и пользователей;

3) в интерфейсе администратора CGPro добавить Application Helper со следующими параметрами (для кластера - на каждом члене кластера):

 

Log Level -> "All Info"

 

Time-Out -> "5 min"

 

Auto-Restart -> "Never"

 

Name (поле ввода возле выпадающего меню включено/выключено) -> "mmindex-helper"

 

Program Path -> "./mmindex-helper" ("./mmindex-helper --ClusterFrontend" для фронтендов кластера)


В файле конфигурации утилиты доступны следующие параметры:

   - method: метод аутентификации на сервере CGPro, поддерживаются методы PLAIN и CRAM-MD5;

   - indexdir: директория файлового хранилища пользователя, в которой хранятся файлы индексов, задаётся относительно директории пользователя в хранилище данных;

   - basedir: базовая директория сервера CGPro;

   - loglevel: уровень детализации логов утилиты;

   - indextype: тип используемого механизма индексации, поддерживаются типы cgindex и sqlite;

   - indexperiod: минимальное значение периода индексации почты, реальное значение периода может быть больше в зависимости от обстоятельств (первое выполнение индексации может занимать значительное время, при поступлении большого объёма данных почты или значительной нагрузке на сервер период индексации также иметь большее значение), задаётся в секундах;

   - owInvalidIndex: значение параметра "yes" указывает на необходимость пересоздания файла индекса почтовой папки, если утилита не может распознать формат текущего файла;

   - fuzzyByDefault: значение параметра "yes" указывает на необходимость использования нечёткого поиска по умолчанию для всех слов, указанных в поисковом запросе, параметр используется только для типа индекса cgindex;

   - indexOnDemand: значение параметра "yes" указывает на необходимость индексации только тех пользователей, у которых имеется кастомная настройка UseMMIndex со значением "YES", разрешающая пользователю использовать индексированный поиск, а также преференс UseMMIndex со значением "YES" (устанавливается автоматически при использовании поиска в веб-интерфейсе Samoware или Crystal);

   - ignoremailboxlist: список названий почтовых папок, которые необходимо игнорировать в процессе индексирования, поддерживаются маски названий (например, по маске junk* будут проигнорированы почтовые папки с названиями Junk, junk, junk-spam, junk/subfolder и т.п.).

При использовании типа индекса cgindex допускается использование следующих специальных символов:

 

* - любое окончание слова (например, по запросу "раздел*" будут найдены письма, в которых встречаются слова "разделы", "разделить" и т.д.).


При использовании типа индекса sqlite в поисковых запросах кроме указанного выше символа * можно использовать также следующие специальные символы:

 

^ - слово расположено в начале строки (например, по запросу "^договор" будут найдены письма, которые начинаются со слова "договор");

 

"" - точное совпадение фразы (например, "договор раздел", в случае, когда двойные кавычки не используются, будут найдены письма, в которых между словами "договор" и "раздел" могут находится другие слова);

 

- - слово не встречается (например, по запросу "договор -раздел" будут найдены письма, в которых встречается "договор", но не встречается "раздел").


Также при использовании типа индекса sqlite специальные символы в запросах можно комбинировать, например:

 

^договор* -раздел


Логи индексации и поиска сохраняются в папке SystemLogs в базовой директории CGPro, их можно просматривать в веб-админ интерфейсе таким же образом, как и логи сервера CGPro.