PHP Unconference Europe 2015

udm_alloc_agent

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

udm_alloc_agentAllocate mnoGoSearch session

Descripción

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

Allocate a mnoGoSearch session.

Par√°metros

dbaddr

dbaddr - URL-style database description, with options (type, host, database name, port, user and password) to connect to SQL database. Do not matter for built-in text files support. Format for dbaddr: DBType:[//[DBUser[:DBPass]@]DBHost[:DBPort]]/DBName/. Currently supported DBType values are: mysql, pgsql, msql, solid, mssql, oracle, and ibase. Actually, it does not matter for native libraries support, but ODBC users should specify one of the supported values. If your database type is not supported, you may use unknown instead.

dbmode

dbmode - You may select the SQL database mode of words storage. Possible values of dbmode are: single, multi, crc, or crc-multi. When single is specified, all words are stored in the same table. If multi is selected, words will be located in different tables depending of their lengths. "multi" mode is usually faster, but requires more tables in the database. If "crc" mode is selected, mnoGoSearch will store 32 bit integer word IDs calculated by CRC32 algorithm instead of words. This mode requires less disk space and it is faster comparing with "single" and "multi" modes. crc-multi uses the same storage structure with the "crc" mode, but also stores words in different tables depending on words lengths like in "multi" mode.

Nota:

dbaddr and dbmode must match those used during indexing.

Valores devueltos

Returns a mnogosearch agent identifier on success, FALSE on failure. This function creates a session with database parameters.

Notas

Nota:

In fact this function does not open a connection to the database and thus does not check the entered login and password. Establishing a connection to the database and login/password verification is done by udm_find().

add a note add a note

User Contributed Notes 2 notes

up
0
stuart at horuskol dot co dot uk
6 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");

?>
up
0
cmv at php dot net
13 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.
To Top