udm_alloc_agent

(PHP 4 >= 4.0.5, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0)

udm_alloc_agentЗапустить сессию mnoGoSearch

Описание

udm_alloc_agent ( string $dbaddr [, string $dbmode ] ) : resource

Запускает сессию mnoGoSearch.

Список параметров

dbaddr

dbaddr - описание базы данных в URL-стиле, с опциями (тип, хост, имя БД, порт, пользователь и пароль) для соединения с базой данных. Формат dbaddr: DBType:[//[DBUser[:DBPass]@]DBHost[:DBPort]]/DBName/. На данный момент поддерживаются следующие значения DBType: mysql, pgsql, msql, solid, mssql, oracle и ibase. При использовании нативных библиотек можно не заморачиваться этими значениями, но если вы используете ODBC, то необходимо точно указать одно из поддерживаемых значений. Если ваша БД не поддерживается, то можете указать unknown.

dbmode

Параметр dbmode отвечает за режим хранения слов в вашей БД. Допустимые значения для dbmode такие: single, multi, crc, или crc-multi. Если указано single - это означает хранение всех слов в одной таблице, независимо от их размера. multi означает, что слова разной длины хранятся в разных таблицах. Режим "multi" обычно быстрее, но требует наличия большего количества таблиц. В режиме "crc", mnoGoSearch будет сохранять идентификаторы слов в виде 32-битного целого числа, посчитанного как CRC32, вместо слов. В этом режиме данные занимают меньше места на диске и в целом работа быстрее, чем в режимах "single" и "multi". Режим crc-multi использует ту же структуру хранения, что и "crc", но, также, хранит слова в разных таблицах в зависимости от их длины, как в режиме "multi".

Замечание:

Параметры dbaddr и dbmode должны соответствовать тем, которые использовались при индексировании.

Возвращаемые значения

Возвращает идентификатор агента mnogosearch или FALSE. Эта функция создает сессию с параметрами базы данных.

Примечания

Замечание:

Фактически эта функция не открывает соединение с базой данных и не проверяет введенные логин и пароль. Соединение и проверка логина с паролем происходят при использовании udm_find().

add a note add a note

User Contributed Notes 2 notes

up
1
cmv at php dot net
23 years ago
For what it's worth, the following PHP code won't work:

<?  $U = udm_alloc_agent('mysql://localhost/example'); ?>

But this will:

<?  $U = udm_alloc_agent('mysql://localhost/example/'); ?>

That trailing slash is all-important.
up
-1
stuart at horuskol dot co dot uk
16 years ago
The function appears to ignore the second parameter completely -
and the default mode is "blob", which is not even mentioned in this page.

In order to be able to select the right mode, do the following:

<?php

  $this
->agent =
udm_alloc_agent("mysql://host/database/?DBMode=multi");

?>
To Top