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");
?>
udm_alloc_agent
(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)
udm_alloc_agent — Allocate mnoGoSearch session
Description
Allocate a mnoGoSearch session.
Parameters
- 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.
Note: dbaddr and dbmode must match those used during indexing.
Return Values
Returns a mnogosearch agent identifier on success, FALSE on failure. This function creates a session with database parameters.
Notes
Note: 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().
udm_alloc_agent
29-Feb-2008 04:28
24-Sep-2001 06:56
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.
