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