П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 3439 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 5991 раз(а).

Учебник HTML.
Просмотров 3220 раз(а).

Руководство по PHP5.
Просмотров 5441 раз(а).

Хостинг через призму DNS.
Просмотров 4050 раз(а).

Подборка текстов стандартных документов.
Просмотров 55723 раз(а).

Учебник PHP - Самоучитель
Просмотров 3019 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 4803 раз(а).

Внешние атаки...
Просмотров 3758 раз(а).

Учебник PHP.
Просмотров 2782 раз(а).

SSI в примерах.
Просмотров 37395 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Учебник РНР
НазадВперёд

udm_load_ispell_data

(PHP 4 >= 4.0.5)

udm_load_ispell_data - загружает ispell-данные.

Описание

int udm_load_ispell_data (int agent, int var, string val1, string val2, int flag)

Возвращает TRUE при успехе, FALSE при ошибке.

agent - ссылка на идентификатор агента, полученная вызовом udm_alloc_agent().

var - параметр, указывающий источник ispell-данных. Может иметь значения, указанные далее.

После использования этой функции, чтобы освободить память, выделенную для ispell-данных, используйте udm_free_ispell_data(), даже если вы применяете режим UDM_ISPELL_TYPE_SERVER.

Самым быстрым режимом является UDM_ISPELL_TYPE_SERVER. UDM_ISPELL_TYPE_TEXT медленнее, а UDM_ISPELL_TYPE_DB - самый медленный. Вышеприведённый патэрн TRUE для mnoGoSearch 3.1.10 - 3.1.11. Планируется ускорить режим DB в будущих версиях, и он будет быстрее режима TEXT.

  • 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().

    Пример:
    if (! udm_load_ispell_data($udm,UDM_ISPELL_TYPE_DB,'','',1)) {
      printf("Error #%d: '%s'\n", udm_errno($udm), udm_error($udm));
      exit;
    }
  • UDM_ISPELL_TYPE_AFFIX - указывает, что ispell-данные должны быть загружены из файла, и инициирует загрузку файла аффиксов. В этом случае val1 определяет двухбуквенный код языка для которого загружаются аффиксы, а val2 - путь к файлу. Пожалуйста, обратите внимание, что, если введён относительный путь, модуль ищет файл не в UDM_CONF_DIR, а относительно текущего пути, т.е. пути, в котором выполняется скрипт. В случае ошибки в этом режиме, например, если файл отсутствует, функция возвратит FALSE, и будет выведено сообщение об ошибке. Доступ к тексту сообщения об ошибке не может быть получен через udm_error() и udm_errno(), поскольку эти функции могут возвращать только сообщения, ассоциированные с SQL. См. описание параметра flag в UDM_ISPELL_TYPE_DB.

    Пример:
    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.

    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;
          }

    Примечание: равен 1 только в последнем вызове.

  • UDM_ISPELL_TYPE_SERVER - включает поддержку spell-сервера. Параметр val1 указывает адрес хоста host, на котором работает spell-сервер. val2 ` ещё не используется, но в будущих релизах будет указывать номер порта, используемого spell-сервером. Параметр flag в этом случае не нужен, так как ispell-данные хранятся на spel-сервере уже отсортированными.

    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 или новее.

    Пример:
    if (!udm_load_ispell_data($udm,UDM_ISPELL_TYPE_SERVER,'','',1)) {
        printf("Error loading ispell data from server<br>\n");
        exit;
    }

Назад Оглавление Вперёд
udm_get_res_param Вверхudm_open_stored


Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту: