(PHP 4 >= 4.0.5, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0)
udm_set_agent_param — Установить параметры сессии mnoGoSearch
$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 или выше.