(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)
udm_load_ispell_data — Загружает ispell-данные
$agent
   , int $var
   , string $val1
   , string $val2
   , int $flag
   )udm_load_ispell_data() загружает ispell-данные.
   После использования этой функции, для того, чтобы освободить память, выделенную 
   для ispell-данных, пожалуйста, используйте функцию
   udm_free_ispell_data(), даже если вы используете режим
   UDM_ISPELL_TYPE_SERVER.
  
agentСсылка на идентификатор агента, полученная после вызова udm_alloc_agent().
varУказывает источник ispell-данных. Может принимать следующие значения:
UDM_ISPELL_TYPE_DB - указывает, что ispell-данные должны быть загружены из SQL.
          В этом случае параметры val1 и val2
          игнорируются и должны быть пустыми. flag
          должен быть равен 1.
         
         Замечание:
flagуказывает, что после загрузки ispell-данных из определённого ресурса они должны быть отсортированы (это необходимо для корректной работы ispell). В случае загрузки ispell-данных из файлов может быть несколько вызовов функции udm_load_ispell_data(), так что нет смысла сортировать данные после каждого вызова, кроме последнего. Поскольку в режиме db все данные загружаются одним вызовом, этот параметр должен иметь значение 1. В этом режиме, в случае ошибки, например, если ispell-таблицы отсутствуют, функция возвратитFALSE, а код и сообщение об ошибке будут доступны через udm_error() и udm_errno().
          UDM_ISPELL_TYPE_AFFIX - указывает, что ispell-данные должны быть загружены из 
          файла, и инициирует загрузку файла аффиксов. В этом случае val1
          определяет двухбуквенный код языка, для которого загружаются аффиксы,
          а val2 - путь к файлу. Пожалуйста, обратите внимание, что, если
          введён относительный путь, модуль ищет файл не в UDM_CONF_DIR,
          а относительно текущего пути, т.е. пути, в котором выполняется скрипт.
          В случае ошибки в этом режиме, например, если файл отсутствует, функция возвратит 
          FALSE, и будет выведено сообщение об ошибке. Текст сообщения об ошибке не может быть
          получен через udm_error() и udm_errno(),
          так как эти функции могут возвращать только сообщения, связанные с SQL. Пожалуйста,
          посмотрите описание параметра flag в UDM_ISPELL_TYPE_DB.
         
Пример #1 Пример использования udm_load_ispell_data()
<?php
if ((! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'en', '/opt/ispell/en.aff', 0)) ||
    (! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'ru', '/opt/ispell/ru.aff', 0)) ||
    (! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'en', '/opt/ispell/en.dict', 0)) ||
    (! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'ru', '/opt/ispell/ru.dict', 1))) {
    exit;
}
?>
Замечание:
flagравен 1 только в последнем вызове.
          UDM_ISPELL_TYPE_SPELL - указывает, что ispell-данные должны быть загружены из 
          файла, и инициирует загрузку файла ispell-словаря. В этом случае 
          val1 определяет двухбуквенный код языка, для которого 
          загружаются аффиксы,
          а val2 - путь к файлу. Пожалуйста, обратите внимание, что, если
          введён относительный путь, модуль ищет файл не в UDM_CONF_DIR,
          а относительно текущего пути, т.е. пути, в котором выполняется скрипт.
          В случае ошибки в этом режиме, например, если файл отсутствует, функция возвратит 
          FALSE, и будет выведено сообщение об ошибке. Текст сообщения об ошибке не может быть
          получен через udm_error() и udm_errno(),
          так как эти функции могут возвращать только сообщения, связанные с SQL. Пожалуйста,
          посмотрите описание параметра flag в UDM_ISPELL_TYPE_DB.
         
<?php
if ((! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'en', '/opt/ispell/en.aff', 0)) ||
   (! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'ru', '/opt/ispell/ru.aff', 0)) ||
   (! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'en', '/opt/ispell/en.dict', 0)) ||
   (! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'ru', '/opt/ispell/ru.dict', 1))) {
 exit;
 }
?>
Замечание:
flagравен 1 только в последнем вызове.
          UDM_ISPELL_TYPE_SERVER - включает поддержку spell-сервера.
          Параметр val1 указывает
          адрес хоста запущенного spell-сервера. val2 
          еще не используется, но в будущих версиях он будет указывать номер
          порта, используемого spell-сервером. Параметр flag в
          этом случае не нужен, так как ispell-данные хранятся на 
          spell-сервере уже отсортированными.
         
Spelld-сервер читает spell-данные из отдельного файла конфигурации (по умолчанию /usr/local/mnogosearch/etc/spelld.conf), сортирует их и сохраняет в памяти. С клиентами сервер взаимодействует с помощью двунаправленного общения: все данные передаются в индексатор (так что индексатор стартует быстрее), из search.cgi сервер получает слово для нормализации и затем передаёт клиенту (search.cgi) список нормализованных словоформ. Это обеспечивает самую быструю, по сравнению с режимами db и text обработку поисковых запросов (миную загрузку и сортировку всех spell-данных).
          Функция udm_load_ispell_data() в режиме UDM_ISPELL_TYPE_SERVER
          на самом деле не загружает ispell-данные, а только определяет адрес сервера.
          Фактически, сервер автоматически используется функцией udm_find()
          при выполнении поиска. В случае ошибок, например, если spell-сервер
          не запущен или указан неправильный хост, возвращаемых сообщений нет
          и конвертация ispell не работает.
         
Пример:Замечание:
Эта функция доступна в mnoGoSearch 3.1.12 или выше.
<?php
if (!udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SERVER, '', '', 1)) {
    echo "Ошибка при загрузке ispell-данных с сервера<br />\n";
    exit;
}
?>
       Самым быстрым режимом является UDM_ISPELL_TYPE_SERVER.
       UDM_ISPELL_TYPE_TEXT медленнее
       а UDM_ISPELL_TYPE_DB самый медленный. Вышесказанное верно для
       mnoGoSearch 3.1.10 - 3.1.11. Планируется ускорить режим DB в будущих 
       версиях, и он будет быстрее режима TEXT.
      
val1
val2
flag
   Возвращает TRUE в случае успешного завершения  или FALSE в случае возникновения ошибки.
  
Пример #2 Пример использования udm_load_ispell_data()
<?php
if (! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_DB, '', '', 1)) {
  printf("Ошибка #%d: '%s'\n", udm_errno($udm), udm_error($udm));
  exit;
}
?>