PHP 5.4.31 Released

udm_set_agent_param

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

udm_set_agent_paramModifie les paramètres de l'agent MnoGoSearch

Description

bool udm_set_agent_param ( resource $agent , int $var , string $val )

Modifie les paramètres de l'agent MnoGoSearch.

Liste de paramètres

agent

Un lien vers l'agent, reçu après un appel à la fonction udm_alloc_agent().

var

Les paramètres suivants et leurs valeurs sont disponibles :

  • UDM_PARAM_PAGE_NUM - Utilisé pour choisir le numéro de groupe de résultat (les résultats sont retournés par groupe, commençant à 0, avec UDM_PARAM_PAGE_SIZE résultats par page).
  • UDM_PARAM_PAGE_SIZE - Nombre de résultats affichés par page.
  • UDM_PARAM_SEARCH_MODE - Mode de recherche. Les valeurs suivantes sont disponibles : UDM_MODE_ALL - recherche tous les mots ; UDM_MODE_ANY - recherche l'un des mots ; UDM_MODE_PHRASE - recherche une phrase; UDM_MODE_BOOL - recherche booléenne. Voir udm_find() pour plus de détails sur les recherches booléennes.
  • UDM_PARAM_CACHE_MODE - Active/désactive le cache. Lorsque le cache est activé, le moteur de recherche va stocker les résultats sur le disque. Lorsque deux requêtes seront similaires, il pourra retourner les résultats plus rapidement, sans recherche. Valeurs disponibles : UDM_CACHE_ENABLED, UDM_CACHE_DISABLED.
  • UDM_PARAM_TRACK_MODE - Active le mode de suivi de requête. Depuis la version 3.1.2, mnoGoSearch dispose d'un suivi de requête. Notez que ce suivi n'est implémenté qu'avec les versions SQL et n'est pas disponible avec les bases de données intégrées. Pour utiliser ce suivi, vous devez créer des tables de suivi. Pour mysql, utilisez le script create/mysql/track.txt. Lorsque vous effectuez une recherche avec l'interface, ces tables stockeront les mots recherchés ainsi que le nombre de mots trouvés, et la date. Valeurs disponibles : UDM_TRACK_ENABLED, UDM_TRACK_DISABLED.
  • UDM_PARAM_PHRASE_MODE - indique si les index des bases de données utilisent des phrases (paramètre "phrase" dans indexer.conf). Valeurs disponibles : UDM_PHRASE_ENABLED et UDM_PHRASE_DISABLED. Notez bien que si la recherche par phrase est activée (UDM_PHRASE_ENABLED), il est toujours possible de faire des recherches dans d'autres modes, (ANY, ALL, BOOL ou PHRASE). En version 3.1.10 de mnoGoSearch, la recherche par phrase n'est supportée que pour les modes SQL et intégré, tandis qu'en 3.1.11, la recherche par phrase est supportée par le mode cache. Exemple de recherche par phrase : "Arizona desert" : cette requête retourne tous les documents qui contiennent les mots "Arizona desert" comme une phrase. Notez que vous devez mettre des guillemets doubles autour des phrases.
  • UDM_PARAM_CHARSET - Définit le jeu de caractères local. Valeurs disponibles : tous les jeux supportés par mnoGoSearch. koi8-r, cp1251, ...
  • UDM_PARAM_STOPFILE - Définit le nom et le chemin du fichier de mots ignorés. Il y a une petite différence avec mnoGoSearch : avec mnoGoSearch, si le chemin est NULL ou relatif, il est utilisé à partir de UDM_CONF_DIR, alors qu'en PHP, le module va rechercher à partir du chemin courant, c'est-à-dire celui du script courant.
  • UDM_PARAM_STOPTABLE - Charge la liste des mots ignorés depuis une table SQL. Vous pouvez utiliser plusieurs tables SQL. Cette commande n'a aucun effet si mnoGoSearch n'a pas été compilé avec le support de base de données.
  • UDM_PARAM_WEIGHT_FACTOR - Représente le poids relatif des différentes parties d'un document. Actuellement, le corps, titre, mots-clés, descriptions et url sont supportés. Pour activer cette fonctionnalité, utilisez le degré 2 des commandes *Weight, dans le fichier indexer.conf. Imaginons que vous avez choisi les poids suivants :
          URLWeight     1
          BodyWeight    2
          TitleWeight   4
          KeywordWeight 8
          DescWeight    16
             
    Comme l'indexeur utilise l'opérateur de bits OR pour mesurer le poids des mots, il est possible que le même mot soit trouvé plusieurs fois dans le même document lors des recherches. Un mot qui n'apparaît qu'une fois dans le corps sera défini par 00000010 (notation binaire). Un mot qui apparaîtra dans plusieurs parties pourra avoir la notation 00011111. La valeur de ce paramètre est une chaîne de chiffres hexadécimaux, sous la forme ABCDE. Chaque chiffre est un facteur correspondant à un poids affecté à une partie du document. Pour la situation décrite ci-dessus :
       E est le facteur de poids 1  (URL Weight bit)
       D est le facteur de poids 2  (BodyWeight bit)
       C est le facteur de poids 4  (TitleWeight bit)
       B est le facteur de poids 8  (KeywordWeight bit)
       A est le facteur de poids 16 (DescWeight bit)
             
    Exemples : UDM_PARAM_WEIGHT_FACTOR=00001 ne recherche que dans les URL. UDM_PARAM_WEIGHT_FACTOR=00100 ne recherche que dans les Titres. UDM_PARAM_WEIGHT_FACTOR=11100 recherche dans les Titres, Mots-clés, Description mais pas dans le Corps ou les URL. UDM_PARAM_WEIGHT_FACTOR=F9421 recherche dans :
        Description avec un poids de 15  (F hex)
        Mots-clés avec un poids de 9
        Titre avec un poids de  4
        Corps avec un poids de 2
        URL avec un poids de 1
             
    Si UDM_PARAM_WEIGHT_FACTOR est omis, la valeur par défaut est utilisée.
  • UDM_PARAM_WORD_MATCH - Recherche des mots. Vous pouvez utiliser ce paramètre pour choisir le type de recherche de mots. Cette fonctionnalité n'est valable qu'en mode "single" et "multi", avec les bases SQL ou intégrée. Elle ne fonctionne pas en mode intégré, ni avec d'autres modes, car les CRC ne supportent pas les recherches de sous-chaînes. Les valeurs disponibles sont : UDM_MATCH_BEGIN - début de mot; UDM_MATCH_END - fin de mot; UDM_MATCH_WORD - tout le mot; UDM_MATCH_SUBSTR - une sous-partie de mot.
  • UDM_PARAM_MIN_WORD_LEN - définit les tailles extrêmes de mots. Tout mot plus court que la limite inférieure est ignoré. Notez que ce paramètre est inclusif, c'est-à-dire que si UDM_PARAM_MIN_WORD_LEN=3, un mot de 3 caractères ne sera pas ignoré, alors qu'un mot de 2 caractères le sera. Par défaut, la valeur est de 1.
  • UDM_PARAM_ISPELL_PREFIXES - Valeurs possibles : UDM_PREFIXES_ENABLED et UDM_PREFIXES_DISABLED. Ces valeurs activent et désactivent le support des préfixes. Par exemple, si le mot "testé" est placé dans la requête de recherche, les mots tels "test", "tester", etc. seront aussi recherchés. Les suffixes sont supportés par défaut. Les préfixes modifient généralement le sens des mots. Par exemple, si vous cherchez "testé", vous ne souhaitez pas trouver "protesté" ou "contesté". Le support des préfixes peut cependant être utilisé pour des raisons d'orthographe. Pour activer ispell, vous devez charger les données ispell avec la fonction udm_load_ispell_data().
  • UDM_PARAM_CROSS_WORDS - Active ou désactive le support "CROSS_WORDS". Valeurs possibles : UDM_CROSS_WORDS_ENABLED et UDM_CROSS_WORDS_DISABLED. La fonctionnalité "CROSS_WORDS" vous permet d'effectuer des recherches dans les balises (entre <a href="xxx"> </a>), pour utiliser le nom du lien. Ce mode fonctionne avec les bases de données SQL et n'est pas supporté par les modes intégrés ou le cache.
  • UDM_PARAM_VARDIR - spécifie un chemin précis sur le disque où l'indexeur enregistre les données lorsqu'il utilise le cache et les bases de données internes. Par défaut, le dossier /var de l'installation de mnoGoSearch est utilisé.

val

Historique

Version Description
4.1.0 Ajout de la constante UDM_PARAM_VARDIR.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Note: CROSS_WORDS est supporté à partir de mnoGoSearch 3.1.11.

add a note add a note

User Contributed Notes 3 notes

up
0
ywarnier at beeznest dot org
8 years ago
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)
up
0
adu at php dot net
8 years ago
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
up
0
GneralTsao
9 years ago
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
To Top