(PHP 4 >= 4.0.5, PHP 5 <= 5.0.5, PECL mnogosearch >= 1.0.0)
udm_set_agent_param — Setzt die Parameter der aktuellen mnoGoSearch Session
Deklariert mnoGoSearch Sessionparameter.
Verweis auf einen Agent, der durch udm_alloc_agent() geholt wurde.
Die folgenden Parameter und deren Werte sind erlaubt:
URLWeight 1 BodyWeight 2 TitleWeight 4 KeywordWeight 8 DescWeight 16Solange der Indexer eine logische bit-ODER Operation verwendet, um das Gewicht einzelner Wörter festzulegen, wenn ein Wort mehrere Male im selben Dokument vorkommt, ist es möglich, zur Zeit der Suche festzustellen, welches Wort in welchem Teil des Dokumentes vorkommt. Wörter, die nur im Body auftauchen, haben das Gewicht 00000010 in binärer Notation. Wörter, die in allen Dokumententeilen vorkommen haben das Gewicht 00011111. Der Wert dieses Parameter ist ein String, bestehend aus den hexadezimalen Ziffern ABCDE. Jede Ziffer ist ein Faktor für das korrespondierende Bit. Für die oben angeführte Konfiguration zum Beispiel:
E ist ein Faktor für das Gewicht 1 (URL Weight bit) D ist ein Faktor für das Gewicht 2 (BodyWeight bit) C ist ein Faktor für das Gewicht 4 (TitleWeight bit) B ist ein Faktor für das Gewicht 8 (KeywordWeight bit) A ist ein Faktor für das Gewicht 16 (DescWeight bit)Beispiele: UDM_PARAM_WEIGHT_FACTOR=00001 wird nur in URLs suchen. UDM_PARAM_WEIGHT_FACTOR=00100 wird nur in Titeln suchen. UDM_PARAM_WEIGHT_FACTOR=11100 wird in Titel, Keywords, Description aber nicht in URL und Body suchen. UDM_PARAM_WEIGHT_FACTOR=F9421 wird folgendermaßen Suchen und Werten:
Beschreibung mit dem Faktor 15 (F hex) Keywords mit dem Faktor 9 Title mit dem Faktor 4 Body mit dem Faktor 2 URL mit dem Faktor 1Wenn die Variable UDM_PARAM_WEIGHT_FACTOR übergeben wird, wird das Originalgewicht zur Sortierung verwendet.
Version | Beschreibung |
---|---|
4.1.0 | UDM_PARAM_VARDIR was added. |
Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.
Hinweis: Crosswords are supported only in mnoGoSearch 3.1.11 or later.
Other possible session parameters not documented but found in the default php frontend on http://www.mnogosearch.org:
UDM_PARAM_BROWSER_CHARSET - ?
UDM_PARAM_HLBEG - defines the tag to use before an highlighted search term
UDM_PARAM_HLBEG - defines the tag to use after an highlighted search term
UDM_PARAM_QSTRING - defines the search term (or query string)
UDM_PARAM_REMOTE_ADDR - ?
UDM_PARAM_QUERY - ?
UDM_PARAM_STORED - ?
UDM_PARAM_GROUPBYSITE - toggles the "group by site" feature (UDM_ENABLED or UDM_DISABLED)
UDM_PARAM_SITEID - ?
UDM_PARAM_DETECT_CLONES - enable the "detect clone" feature (UDM_ENABLED or UDM_DISABLED)
I found an undocumented function: udm_set_agent_param_ex
For example, if you want to sort results by date, do this:
udm_set_agent_param_ex($udm_agent, 's', 'DR');
See http://www.mnogosearch.org/doc/msearch-doingsearch.html for details
One useful parameter not documented above is UDM_PARAM_SYNONYM. If you understand how this API works in general, you should be able to figure it out, but here goes anyway:
<?php
/* Make sure that PHP is able to find the file. Unlike mnogosearch's indexer and search.cgi, it doesn't know the directory of the installation. */
$synFile="/usr/local/mnogosearch/etc/synonym/english.syn";
udm_set_agent_param($agent, UDM_PARAM_SYNONYM, $synFile);
?>
Piece of cake.
For more about mnogosearch's handling of synonyms see http://www.mnogosearch.org/doc/msearch-fuzzy.html#synonyms