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
$dbaddr
[, string $dbmode
] )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 fordbaddr
: 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 ofdbmode
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
anddbmode
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().
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для работы с поисковыми системами
- mnoGoSearch
- udm_add_search_limit
- udm_alloc_agent_array
- udm_alloc_agent
- udm_api_version
- udm_cat_list
- udm_cat_path
- udm_check_charset
- udm_clear_search_limits
- udm_crc32
- udm_errno
- udm_error
- udm_find
- udm_free_agent
- udm_free_ispell_data
- udm_free_res
- udm_get_doc_count
- udm_get_res_field
- udm_get_res_param
- udm_hash32
- udm_load_ispell_data
- udm_set_agent_param
Коментарии
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.
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");
?>