udm_set_agent_param
(PHP 4 >= 4.0.5)
udm_set_agent_param -- Set mnoGoSearch agent session parameters
Description
bool udm_set_agent_param ( resource agent, int var, string
val)
Returns TRUE on success or FALSE on failure. Defines mnoGoSearch
session parameters.
The following parameters and their values are available:
UDM_PARAM_PAGE_NUM - used to choose search results page
number (results are returned by pages beginning from 0,
with UDM_PARAM_PAGE_SIZE results per page).
UDM_PARAM_PAGE_SIZE - number of search results displayed
on one page.
UDM_PARAM_SEARCH_MODE - search mode. The following values
available: UDM_MODE_ALL - search for all words; UDM_MODE_ANY
- search for any word; UDM_MODE_PHRASE - phrase search;
UDM_MODE_BOOL - boolean search. See udm_find() for details
on boolean search.
UDM_PARAM_CACHE_MODE - turns on or off search result cache
mode. When enabled, the search engine will store search
results to disk. In case a similar search is performed later,
the engine will take results from the cache for faster performance.
Available values: UDM_CACHE_ENABLED, UDM_CACHE_DISABLED.
UDM_PARAM_TRACK_MODE - turns on or off trackquery mode.
Since version 3.1.2 mnoGoSearch has a query tracking support.
Note that tracking is implemented in SQL version only and
not available in built-in database. To use tracking, you
have to create tables for tracking support. For MySQL, use
create/mysql/track.txt. When doing a search, front-end uses
those tables to store query words, a number of found documents
and current Unix timestamp in seconds. Available values:
UDM_TRACK_ENABLED, UDM_TRACK_DISABLED.
UDM_PARAM_PHRASE_MODE - defines whether index database
using phrases ("phrase" parameter in indexer.conf).
Possible values: UDM_PHRASE_ENABLED and UDM_PHRASE_DISABLED.
Please note, that if phrase search is enabled (UDM_PHRASE_ENABLED),
it is still possible to do search in any mode (ANY, ALL,
BOOL or PHRASE). In 3.1.10 version of mnoGoSearch phrase
search is supported only in sql and built-in database modes,
while beginning with 3.1.11 phrases are supported in cachemode
as well.
Examples of phrase search:
"Arizona desert" - This query returns all indexed
documents that contain "Arizona desert" as a phrase.
Notice that you need to put double quotes around the phrase
UDM_PARAM_CHARSET - defines local charset. Available values:
set of charsets supported by mnoGoSearch, e.g. koi8-r, cp1251,
...
UDM_PARAM_STOPFILE - Defines name and path to stopwords
file. (There is a small difference with mnoGoSearch - while
in mnoGoSearch if relative path or no path entered, it looks
for this file in relation to UDM_CONF_DIR, the module looks
for the file in relation to current path, i.e. to the path
where the PHP script is executed.)
UDM_PARAM_STOPTABLE - Load stop words from the given SQL
table. You may use several StopwordTable commands. This
command has no effect when compiled without SQL database
support.
UDM_PARAM_WEIGHT_FACTOR - represents weight factors for
specific document parts. Currently body, title, keywords,
description, url are supported. To activate this feature
please use degrees of 2 in *Weight commands of the indexer.conf.
Let's imagine that we have these weights:
URLWeight 1
BodyWeight 2
TitleWeight 4
KeywordWeight 8
DescWeight 16
As far as indexer uses bit OR operation for word weights
when some word presents several time in the same document,
it is possible at search time to detect word appearance
in different document parts. Word which appears only in
the body will have 00000010 aggregate weight (in binary
notation). Word used in all document parts will have 00011111
aggregate weight.
This parameter's value is a string of hex digits ABCDE.
Each digit is a factor for corresponding bit in word weight.
For the given above weights configuration:
E is a factor for weight 1 (URL Weight bit)
D is a factor for weight 2 (BodyWeight bit)
C is a factor for weight 4 (TitleWeight bit)
B is a factor for weight 8 (KeywordWeight bit)
A is a factor for weight 16 (DescWeight bit)
Examples:
UDM_PARAM_WEIGHT_FACTOR=00001 will search through URLs
only.
UDM_PARAM_WEIGHT_FACTOR=00100 will search through Titles
only.
UDM_PARAM_WEIGHT_FACTOR=11100 will search through Title,Keywords,Description
but not through URL and Body.
UDM_PARAM_WEIGHT_FACTOR=F9421 will search through:
Description with factor 15 (F hex)
Keywords with factor 9
Title with factor 4
Body with factor 2
URL with factor 1
If UDM_PARAM_WEIGHT_FACTOR variable is omitted, original
weight value is taken to sort results. For a given above
weight configuration it means that document description
has a most big weight 16.
UDM_PARAM_WORD_MATCH - word match. You may use this parameter
to choose word match type. This feature works only in "single"
and "multi" modes using SQL based and built-in
database. It does not work in cachemode and other modes
since they use word CRC and do not support substring search.
Available values:
UDM_MATCH_BEGIN - word beginning match;
UDM_MATCH_END - word ending match;
UDM_MATCH_WORD - whole word match;
UDM_MATCH_SUBSTR - word substring match.
UDM_PARAM_MIN_WORD_LEN - defines minimal word length. Any
word shorter this limit is considered to be a stopword.
Please note that this parameter value is inclusive, i.e.
if UDM_PARAM_MIN_WORD_LEN=3, a word 3 characters long will
not be considered a stopword, while a word 2 characters
long will be. Default value is 1.
UDM_PARAM_ISPELL_PREFIXES - Possible values: UDM_PREFIXES_ENABLED
and UDM_PREFIXES_DISABLED, that respectively enable or disable
using prefixes. E.g. if a word "tested" is in
search query, also words like "test", "testing",
etc. Only suffixes are supported by default. Prefixes usually
change word meanings, for example if somebody is searching
for the word "tested" one hardly wants "untested"
to be found. Prefixes support may also be found useful for
site's spelling checking purposes. In order to enable ispell,
you have to load ispell data with udm_load_ispell_data().
UDM_PARAM_CROSS_WORDS - enables or disables crosswords
support. Possible values: UDM_CROSS_WORDS_ENABLED and UDM_CROSS_WORDS_DISABLED.
The crosswords feature allows to assign words between <a
href="xxx"> and </a> also to a document
this link leads to. It works in SQL database mode and is
not supported in built-in database and Cachemode.
Note: Crosswords are supported only in mnoGoSearch 3.1.11
or later.
UDM_PARAM_VARDIR - specifies a custom path to directory
where indexer stores data when using built-in database and
in cache mode. By default /var directory of mnoGoSearch
installation is used. Can have only string values. The parameter
is available in PHP 4.1.0 or later.