udm_set_agent_param - устанавливает параметры сессии агента mnoGoSearch.
UDM_PARAM_PAGE_NUM - используется для выбора номера страницы результата
поиска (результаты возвращаются страницей, начиная с 0, с UDM_PARAM_PAGE_SIZE
результатов на страницу).
UDM_PARAM_PAGE_SIZE - количество результатов поиска, отображаемых на
одной странице.
UDM_PARAM_SEARCH_MODE - режим поиска. Доступны значения: UDM_MODE_ALL -
искать все слова; UDM_MODE_ANY - искать любое слово; UDM_MODE_PHRASE -
поиск фразы; UDM_MODE_BOOL - булев поиск. См. в udm_find() детали о булевом поиске.
UDM_PARAM_CACHE_MODE - включает/выключает режим кэширования результатов
поиска.
Если включён, машина поиска сохранит результаты поиска на диске. Если
аналогичный поиск выполняется позднее,
машина возьмёт результаты из кэша, что быстрее.
Доступны значения: UDM_CACHE_ENABLED, UDM_CACHE_DISABLED.
UDM_PARAM_TRACK_MODE - включает/выключает режим trackquery. Начиная с
версии 3.1.2, mnoGoSearch имеет поддержку трэкинга запросов.
Заметьте, что этот трэкинг реализован только в SQL-версии и недоступен во
встроенной БД.
Для использования трэкинга вы должны создать таблицы для поддержки
трэкинга.
Для MySQL используйте create/mysql/track.txt.
При выполнении поиска конечный этап использует эти таблицы для хранения
слов запроса,
количества найденных документов и и текущий UNIX timestamp в секундах.
Доступные значения: UDM_TRACK_ENABLED, UDM_TRACK_DISABLED.
UDM_PARAM_PHRASE_MODE - определяет, использует ли индексная БД фразы
(параметр "phrase" в indexer.conf).
Возможные значения: UDM_PHRASE_ENABLED и UDM_PHRASE_DISABLED.
Заметьте, что, если включён поиск фраз (UDM_PHRASE_ENABLED),
можно также искать в любом режиме (ANY, ALL, BOOL или PHRASE).
В версии 3.1.10 mnoGoSearch поиск фраз поддерживается только в режимах sql
и встроенной БД,
а, начиная с 3.1.11, фразы поддерживаются также в режиме cachemode.
Примеры фраз для поиска:
"Arizona desert" - этот запрос возвращает все индексированные документы,
содержащие фразу
"Arizona desert". Заметьте, что нужно поместить двойные кавычки вокруг
фразы.
UDM_PARAM_CHARSET - определяет локальный charset/набор символов. Доступны
значения: набор charsets, поддерживаемых mnoGoSearch, например, koi8-r, cp1251, ...
UDM_PARAM_STOPFILE - определяет имя и путь к файлу stopwords. (Есть
небольшое отличие с mnoGoSearch
- в то время как если во mnoGoSearch введён относительный путь или
никакого пути, он ищет файл относительно UDM_CONF_DIR, модель ищет файл
относительно текущего пути, т.е. пути, где выполняется
php-скрипт.)
UDM_PARAM_STOPTABLE - загружает stop-слова из данной SQL-таблицы. Вы
можете использовать несколько команд StopwordTable.
Эта команда не действует, если скомпилировано без поддержки SQL-БД.
UDM_PARAM_WEIGHT_FACTOR - представляет weight-факторы для специфических
частей документа.
В настоящее время поддерживаются body, title, keywords, description, url.
Для активации этой возможности используйте степени 2 в *Weight командах
файла indexer.conf.
Представим, что у нас имеются следующие weights:
URLWeight 1
BodyWeight 2
TitleWeight 4
KeywordWeight 8
DescWeight 16
Поскольку индексатор использует битовую операцию OR для weights слов,
когда некоторые слова представлены несколько раз в том же документе, можно
на этапе поиска определять появление слова в разных частях документа. Слово,
которое появляется только в теле/body, будет иметь агрегатный вес 00000010 (в
двоичной нотации).
Слово, используемое во всех частях документа, будет иметь агрегатный вес 00011111.
Значением этого параметра является строка 16-ричных цифр ABCDE. Каждая
цифра является фактором для соответствующего бита в весе слова. Для данной
выше конфигурации весов:
E это фактор для веса 1 (бит URL Weight)
D это фактор для веса 2 (бит BodyWeight)
C это фактор для веса 4 (бит TitleWeight)
B это фактор для веса 8 (бит KeywordWeight)
A это фактор для веса 16 (бит DescWeight)
Примеры:
UDM_PARAM_WEIGHT_FACTOR=00001 будет искать только в URLs.
UDM_PARAM_WEIGHT_FACTOR=00100 будет искать только в Titles.
UDM_PARAM_WEIGHT_FACTOR=11100 будет искать в Title, Keywords, Description,
но не в URL и в Body.
UDM_PARAM_WEIGHT_FACTOR=F9421 будет искать в:
Description с фактором 15 (F hex)
Keywords с фактором 9
Title с фактором 4
Body с фактором 2
URL с фактором 1
Если переменная UDM_PARAM_WEIGHT_FACTOR опущена, принимается оригинальное weight-значение
для сортировки результатов. Для данной выше конфигурации весов это означает,
что описание документа имеет самый большой вес 16.
UDM_PARAM_WORD_MATCH - совпадение слова. Вы можете использовать этот
параметр для выбора типа совпадения слов. Это работает только в режимах "single"
и "multi" с использованием БД на основе SQL и встроенной БД. Не работает в
режиме cachemode и других режимах, поскольку они используют CRC слов и не
поддерживают поиск подстрок. Доступны значения:
UDM_MATCH_BEGIN - совпадение начала слов;
UDM_MATCH_END - совпадение конца слов;
UDM_MATCH_WORD - совпадение всего слова;
UDM_MATCH_SUBSTR - совпадение подстроки.
UDM_PARAM_MIN_WORD_LEN - определяет минимальную длину слова.
Любое слово, короче этого лимита, считается stopword. Заметьте, что
значение этого параметра включается, т.е., если UDM_PARAM_MIN_WORD_LEN=3,
слово длиной в 3 символа не будет считаться stopword, а слово длиной в 2
символа - считается. По умолчанию значение 1.
UDM_PARAM_ISPELL_PREFIXES - Возможные значения: UDM_PREFIXES_ENABLED и
UDM_PREFIXES_DISABLED, включающие/выключающие использование префиксов.
Например, если слово "tested" имеется в запросе на поиск, также ищутся
слова вроде "test",
"testing", etc. По умолчанию поддерживаются только суффиксы. Префиксы
обычно изменяют значение слов, например, если кто-нибудь ищет слово "tested",
то другому нужно только "untested". Поддержка префиксов может понадобиться
также для целей проверки правописания на сайте. для включения
ispell вы должны загрузить ispell-данные функцией udm_load_ispell_data().
UDM_PARAM_CROSS_WORDS - включает/выключает поддержку перекрёстных слов/crosswords.
Возможные значения: UDM_CROSS_WORDS_ENABLED и UDM_CROSS_WORDS_DISABLED.
corsswords даёт возможность присваивать слова между тэгами <a href="xxx">
и </a>
также документу, к которому ведёт ссылка. Это работает в режиме SQL-БД и
не поддерживается во встроенной БД и в Cachemode.
Примечание:
Crosswords поддерживаются только во mnoGoSearch 3.1.11 или новее.
UDM_PARAM_VARDIR - специфицирует специальный путь к директории, где
индексатор хранит данные при использовании встроенной БД и режима cache.
По умолчанию используется директория /var инсталяции
mnoGoSearch. Может иметь только строковые значения. Этот параметр доступен
в PHP 4.1.0 или новее.
UDM_PARAM_VARDIR - специфицирует специальный путь к директории, где
индексатор хранит данные при использовании встроенной БД и режима cache. По
умолчанию используется директория /var инсталяции
mnoGoSearch. Может иметь только строковые значения. Этот параметр доступен
в PHP 4.1.0 или новее.