udm_set_agent_param
(PHP 4 >= 4.0.5, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0)
udm_set_agent_param — Установить параметры сессии mnoGoSearch
Описание
udm_set_agent_param
( resource
$agent
, int $var
, string $val
) : boolУстанавливает параметры сессии mnoGoSearch.
Список параметров
-
agent -
Идентификатор ресурса агента, полученный из udm_alloc_agent().
-
var -
Доступные параметры и их значения:
-
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. Допустимые значения: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 поиск по фразам доступен только для SQL и встроенной базы данных. Начиная с версии 3.1.11 фразы доступны и в режиме кеширования. Пример поиска фраз: "Arizona desert" - этот запрос вернет все документы, содержащие "Arizona desert" в виде точной фразы. Обратите внимание, что фразу нужно обрамить двойными кавычками. -
UDM_PARAM_CHARSET- определяет локальную кодировку. Допустимые значения: набор кодировок, поддерживаемых mnoGoSearch, например koi8-r, cp1251, ... -
UDM_PARAM_STOPFILE- определяет путь до файла со стоп-словами. (Есть небольшой нюанс. В mnoGoSearch, если задан относительный путь, или путь вообще не задан, то поиск файла будет идти отUDM_CONF_DIR, но в модуле будет использован путь относительно текущей директории, т.е. той, где запущен скрипт PHP.) -
UDM_PARAM_STOPTABLE- Загружать стоп-слова из заданной таблицы в БД. Вы можете использовать несколько команд StopwordTable. Эта команда не будет работать, если mnoGoSearch собран без поддержки SQL. -
UDM_PARAM_WEIGHT_FACTOR- представляет весовые факторы для определенных частей документа. Сейчас поддерживаются такие части: body, title, keywords, description, url. Для активации этого функционала используйте степени числа 2 в командах *Weight файла indexer.conf. Представим, что у нас есть такие веса:URLWeight 1 BodyWeight 2 TitleWeight 4 KeywordWeight 8 DescWeight 16Так как индексатор использует побитовое ИЛИ для развесовки когда слово присутствует в разных частях документа, то становится возможным отследить наличие этого слова в разных частях документа. Слово, присутствующее только в теле будет иметь вес 00000010, слово, присутствующее во всех частях документа - 00011111. Значение этого параметра является строкой шестнадцатеричных цифр ABCDE. Каждая цифра - фактор для соответствующего бита в весах слов. Для заданной выше конфигурации весов:E фактор для веса 1 (URLWeight bit) D фактор для веса 2 (BodyWeight bit) C фактор для веса 4 (TitleWeight bit) B фактор для веса 8 (KeywordWeight bit) A фактор для веса 16 (DescWeight bit)Примеры:UDM_PARAM_WEIGHT_FACTOR=00001 будет искать только в URL.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опущена, то будут взяты оригинальные веса. Для примера выше это значит, что наибольший вес будет у description с весом 16. -
UDM_PARAM_WORD_MATCH- совпадение слов. Вы можете использовать этот параметр для выбора типа сравнения слов. Этот функционал работает только для режимов "single" и "multi" при использовании SQL и встроенной баз данных. Не работает в режиме кеширования и прочих режимах, так как в них используются контрольные суммы слов и не работает поиск по подстроке. Допустимые значения:UDM_MATCH_BEGIN- сравнение слов по их началу;UDM_MATCH_END- сравнение слов по их окончанию;UDM_MATCH_WORD- полное совпадение;UDM_MATCH_SUBSTR- сравнение как с подстрокой. -
UDM_PARAM_MIN_WORD_LEN- задает минимальную длину слов. Любое слово, короче заданного размера, будет считаться стоп-словом. Обратите внимание, что стоп-словами будут считаться слова строго меньше заданного значения. Например приUDM_PARAM_MIN_WORD_LEN=3, слова из трех букв не будут считаться стоп-словами. Значение по умолчанию 1. -
UDM_PARAM_ISPELL_PREFIXES- Допустимые значения:UDM_PREFIXES_ENABLEDиUDM_PREFIXES_DISABLED, что, соответственно, разрешает или запрещает использование префиксов. Т.е. если в поисковом запросе присутствует слово "tested", то также будут найдены "test", "testing" и т.д. По умолчанию поддерживаются только суффиксы. Префиксы же обычно меняют значение слов. К примеру если кто-то ищет слово "tested" и, при этом, очень хочет, чтобы также было найдено и "untested". Поддержка префиксов может быть полезна проверки орфографии. Для включения поддержки ispell вам придется загрузить его данные с помощью udm_load_ispell_data(). -
UDM_PARAM_CROSS_WORDS- включение или отключение поддержки функционала вставки слов. Допустимые значения:UDM_CROSS_WORDS_ENABLEDиUDM_CROSS_WORDS_DISABLED. Данный функционал позволяет вставлять слова между <a href="xxx"> и </a> в ссылках на документ. Работает в режиме SQL, но не в режимах внутренней БД или кеширования. -
UDM_PARAM_VARDIR- задает путь к директории, где индексатор будет хранить данные с использованием встроенной БД или в режиме кеширования. По умолчанию используется директория /var сервера установки mnoGoSearch.
-
-
val -
Список изменений
| Версия | Описание |
|---|---|
| 4.1.0 |
Добавлена константа UDM_PARAM_VARDIR.
|
Возвращаемые значения
Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.
Примечания
Замечание: Вставка слов поддерживается в mnoGoSearch 3.1.11 или выше.