dams Wed Mar 21 03:11:38 2001 EDT Modified files: /phpdoc/fr/functions mnogosearch.xml Log: Missing </reference>..
Index: phpdoc/fr/functions/mnogosearch.xml diff -u phpdoc/fr/functions/mnogosearch.xml:1.4 phpdoc/fr/functions/mnogosearch.xml:1.5 --- phpdoc/fr/functions/mnogosearch.xml:1.4 Wed Mar 21 03:04:23 2001 +++ phpdoc/fr/functions/mnogosearch.xml Wed Mar 21 03:11:37 2001 @@ -1 +1,1076 @@ - <reference id="ref.mnogo"> <title>mnoGoSearch</title> <titleabbrev>mnoGoSearch</titleabbrev> <partintro> <simpara> Ces fonctions donnent l'accès à mnoGoSearch (anciennement UdmSearch), moteur de recherche du monde libre. Pour pouvoir les utiliser, vous devez inclure le support en ajoutant l'option <option role="configure">--with-mnogosearch</option>. Si vous utilisez cette option sans indiquer le chemin jusqu'à mnogosearch, PHP essaiera de le trouver dans le dossier <filename>/usr/local/mnogosearch</filename>. Si vous avez installé mnogosearch dans un autre endroit, vous devez l'indiquer comme ceci : <option role="configure">--with-mnogosearch=DIR</option>. </simpara> <para> mnoGoSearch est une moteur de recherche complet, destinés aux intranet et serveurs web, distribué sous licence GNU. mnoGoSearch offre des fonctionnalités unique, qui en font un excellent outil pour un grand nombre d'applications de recherche dans votre site : recherche de recettes de cuisines ou dans les journaux, recherche dans un site FTP, dans les groupes de news, etc... Il offre un système d'indexation de textes pour les fichiers HTML, PDF et documents textes. mnoGoSearch est constitué de deux parties : l'indexeur, qui effectue les recherches et le moteur de recherche. L'indexeur passe en revue récursivement les sites HTTP, FTP, NEWS ou encore les fichiers locaux, et enregistre des méta-données dans les bases MySQL, pour optimiser les recherches ultérieures. Une fois que tous les documents ont été référéncés, ils sont accessibles au moteur de recherche. Celui-ci est utilisable par interface web. Les langages C CGI, Perl et PHP sont supportés pour effectuer les recherches. </para> <note> <para> PHP supporte naturellement MySQL. Il faut savoir que mnoGoSearch n'est pas compatible avec la librairie interne de PHP, et ne peut fonctionner qu'avec les librairies génériques MySQL. Par conséquent, si vous utilisez mnoGoSearch avec MySQL, indiquez le dossier d'installation de MySQL durant la configuration avec l'option : <option role="configure">--with-mnogosearch --with-mysql=/usr</option>. </para> </note> <simpara> Pour utiliser ces fonctions, vous devez installer les versions 3.1.10 ou plus récente de mnoGoSearch. </simpara> <simpara> Plus de détails sur le site officiel de mnoGoSearch : <ulink url="&url.mnogo">&url.mnogo;</ulink>. </simpara> </partintro> <refentry id="function.udm-add-search-limit"> <refnamediv> <refname>udm_add_search_limit</refname> <refpurpose>Ajoute différentes limitations de recherche</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>udm_add_search_limit</function></funcdef> <paramdef>int <parameter>agent</parameter></paramdef> <paramdef>int <parameter>var</parameter></paramdef> <paramdef>string <parameter>val</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>udm_add_search_limit</function> retourne <literal>TRUE</literal> en cas de succès, <literal>FALSE</literal> en cas d'erreur. <function>udm_add_search_limit</function> ajoute différentes limitations de recherche. </para> <para> <parameter>agent</parameter> - un identifiant d'Agent, obtenu après un appel à <function>udm_alloc_agent</function>. </para> <para> <parameter>var</parameter> - nom du paramètre de limitation. </para> <para> <parameter>val</parameter> - Valeur du paramètre sus-cité. </para> <para> <parameter>var</parameter> peut prendre les valeurs suivantes : </para> <itemizedlist> <listitem> <simpara> UDM_LIMIT_URL - Définit les limitations sur les URL, pour limiter les recherches à une partie de la base. Ce paramètre supporte les jokers SQL '%' et '_' : '%' remplace n'importe quel nombre de caractères, même zéro caractères, et '_' remplace exactement un caractère. Par exemple, <literal>'http://my.domain.__/catalog'</literal> peut remplacer <literal>http://my.domain.ru/catalog</literal> ou <literal>http://my.domain.ua/catalog</literal>. </simpara> </listitem> <listitem> <simpara> UDM_LIMIT_TAG - Définit les limitations par étiquettes. Lors de l'indexation, vous pouvez assigner des étiquettes sur différentes parties d'un site. Les étiquettes de mnoGoSearch 3.1.x sont des lignes, qui peuvent contenir les jokers '%' et '_' : '%' remplace n'importe quel nombre de caractères, même zéro caractères, et '_' remplace exactement un caractère. Par exemple, si vous avez les étiquettes ABCD et ABCE, la limitation de recherche <literal>ABC_</literal> limitera la recherche à ces deux étiquettes; </simpara> </listitem> <listitem> <simpara> UDM_LIMIT_LANG - Définit les limitations par langue. </simpara> </listitem> <listitem> <simpara> UDM_LIMIT_CAT - Définit les limitations par catégorie. Les catégories sont similaires aux étiquettes, mais elles peuvent être imbriquées. Vous pouvez donc placer des catégories dans d'autres cattégories. Vous devez utiliser deux caractères pour chaque niveau. Vous pouvez utiliser des nombres héxadécimaux allant de 0 à F ou bien sur une base de 36, allant de 0 à Z. Par exemple la catégorie supérieure 'Auto' vaut 01. Si elle a une sous catégorie 'Renault', cette dernière sera repérée par 01 (catégorie mère) suivie de 01 (dans sa catégorie), ce qui donne "0101". Si 'Auto' a une autre sous-catégorie 'Peugeot', cette dernière aura le numéro 02, et sera identifiée par <literal>0102</literal>. Si 'Peugeot' a elle-même une autre sous-catégorie, 'Moteur', elle sera numéroté 01, et identifiée uniquement par <literal>010201</literal>. Si vous voulez restreindre les recherches à cette catégorie uniquement, passez <literal>cat=010201</literal>. </simpara> </listitem> <listitem> <simpara> UDM_LIMIT_DATE - Définit les limitations par date de modification du document. </simpara> <simpara> Format de la valeur : une chaîne de caractères, dont le premier caractère est < ou >, puis une date au format unixtimestamp. Par exemple : </simpara> <simpara> Udm_Add_Search_Limit($udm,UDM_LIMIT_DATE,"<908012006"); </simpara> <simpara> Si > est utilisé, la recherche sera limitée aux documents dont la date de modification est plus grande que celle qui a été entrée. Avec <, c'est le contraire. </simpara> </listitem> </itemizedlist> </refsect1> </refentry> <refentry id="function.udm_alloc_agent"> <refnamediv> <refname>Udm_Alloc_Agent</refname> <refpurpose>Alloue une session mnoGoSearch</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>udm_alloc_agent</function></funcdef> <paramdef>string <parameter>dbaddr</parameter></paramdef> <paramdef>string <parameter> <optional>dbmode</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>udm_alloc_agent</function> retourne un agent mnogosearch en cas de succès, <literal>FALSE</literal> en cas d'erreur. <function>udm_alloc_agent</function> crée une session avec les paramètres de base de données. </para> <para> <parameter>dbaddr</parameter> est une description de base de données formaté comme une URL. Les options (type, hôte, nom de base de données , port, utilisateur ou mot de passe) servent à se connecter à la base de données SQL. Ne passez aucune valeur si vous souhaitez utiliser le support des fichiers texte intégré. Sinon, utilisez le format : <literal>DBAddr DBType:[//[DBUser[:DBPass]@]DBHost[:DBPort]]/DBName/</literal>. Actuellement, les valeurs de DBType possibles sont : mysql, pgsql, msql, solid, mssql, oracle, ibase. En fait, si vous avez ajouté un support natif, cette option est inutile. Mais les utilisateurs ODBC doivent spécifier une des valeurs supportées. Si votre type de base de données n'est pas supporté, utilisez le terme "unknown". </para> <para> <parameter>dbmode</parameter> - Vous pouvez selectionner le mode de stockage des mots dans la base de données. Si vous indiquez "single", tous les mots seront sotckés dans la même table. Si vous indiquez "multi", les mots seront situés dans différentes tables, suivant leur taille. Le mode "multi" est généralement plus rapide, mais requiert plus de tables. Si le mode "crc" est selectionné, mnoGoSearch enregistrera un entier de 32 bits, calculé avec l'algorithme CRC32, plutot que des des mots. Ce mode requiert moins d'espace disque, et il est beaucoup plus rapide que les modes "single" et "multi". "crc-multi" utilise la même technique de stockage que le mode "crc", mais il stocke aussi les mots dans différentes tables suivant leur taille. Format: DBMode single/multi/crc/crc-multi. </para> <note> <para> <parameter>dbaddr</parameter> et <parameter>dbmode</parameter> doit correspondre à ceux qui sont utilisés lors de l'indexation. </para> </note> <note> <para> En réalité, <function>udm_alloc_agent</function> n'ouvre pas de connexion, et donc, ne vérifie ni le nom d'utilisateur, ni le mot de passe. </para> </note> </refsect1> </refentry> <refentry id="function.udm-api-version"> <refnamediv> <refname>udm_api_version</refname> <refpurpose>Lit la version des API mnoGoSearch.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>udm_api_version</function></funcdef> <paramdef><parameter></parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>udm_api_version</function> retourne le numéro de version des API mnoGoSearch. Par exemple, si mnoGosearch 3.1.10 est utilisé, <function>udm_api_version</function> retournera <literal>30110</literal>. </para> <para> <function>udm_api_version</function> permet aux utilisateurs d'identifier quelles sont les API disponibles. Par exemple, <function>udm_get_doc_count</function> n'est disponible qu'à partir de mnoGoSearch 3.1.11. </para> <simpara>Exemple avec <function>udm_api_version</function></simpara> <informalexample> <programlisting role="C"> if (Udm_Api_Version() >= 30111) { print "Total number of urls in database: ".Udm_Get_Doc_Count($udm)."<br>\n"; } </programlisting> </informalexample> </refsect1> </refentry> <refentry id="function.udm-clear-search-limits"> <refnamediv> <refname>udm_clear_search_limits</refname> <refpurpose>Annule toutes les limitations de recherche</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>udm_clear_search_limits</function></funcdef> <paramdef>int <parameter>agent</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>udm_clear_search_limits</function> annule toutes les limitations de recherche imposées, et retourne <literal>TRUE</literal>. </para> </refsect1> </refentry> <refentry id="function.udm_errno"> <refnamediv> <refname>Udm_Errno</refname> <refpurpose>Numéro d'erreur mnoGoSearch</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>udm_errno</function></funcdef> <paramdef>int <parameter>agent</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>udm_errno</function> retourne le numéro d'erreur mnoGoSearch, ou bien <literal>0</literal> sinon. </para> <para> Le paramètre <parameter>agent</parameter> est un identifiant de résultat, obtenu après un appel à <parameter>Udm_Alloc_Agent</parameter>. </para> <para> <function>udm_errno</function> retourne le numéro de l'erreur généré par l'agent <parameter>agent</parameter>. </para> </refsect1> </refentry> <refentry id="function.udm_error"> <refnamediv> <refname>Udm_Error</refname> <refpurpose>Message d'erreur mnoGoSearch</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>udm_error</function></funcdef> <paramdef>int <parameter>agent</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>udm_errno</function> retourne le message d'erreur mnoGoSearch, ou bien une chaîne vide sinon. </para> <para> Le paramètre <parameter>agent</parameter> est un identifiant de résultat, obtenu après un appel à <parameter>Udm_Alloc_Agent</parameter>. </para> <para> <function>udm_error</function> retourne le numéro de l'erreur généré par l'agent <parameter>agent</parameter>. </para> </refsect1> </refentry> <refentry id="function.udm_find"> <refnamediv> <refname>Udm_Find</refname> <refpurpose>Effectue une recherche</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>udm_find</function></funcdef> <paramdef>int <parameter>agent</parameter></paramdef> <paramdef>string <parameter>query</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>udm_add_search_limit</function> retourne <literal>TRUE</literal> en cas de succès, et <literal>FALSE</literal> en cas d'erreur. </para> <para> La recherche en elle-même. Le premier argument <parameter>agent</parameter> est la session, le second est la <parameter>query</parameter>. Pour rechercher, entrez les mots avec lesquels que vous voulez faire une recherche, puis cliquez sur le bouton d'envoi. Par exemple, "<literal>mysql odbc</literal>". Vous ne devez pas utiliser de guillemets doubles <literal>"</literal>, car ils sont utilisés par mnoGoSearch pour séparer une requête en mots. Avec l'exemple ci-dessus, mnoGoSearch va rechercher les pages contenant "mysql" et/ou "odbc". Les meilleures réponses seront classées en premier, et affichées en tête de liste. Si vous selectionez le mode de recherche "tous" ("ALL"), la recherche va retourner les documents qui contiennent l'un ou l'autre des mots que vous avez entré. Dans le cas où vous utilisez le mode "ANY", la recheche retourne la lsite des documents qui contiennent l'un ou l'autre des mots. Si vous voulez accéder aux fonctions avancées de recherche, vous pouvez utiliser le mode "BOOL", qui vous permet d'entrer directement des requêtes. </para> <para> mnoGoSearch utilise les opérateurs booléean suivants : </para> <para> & - AND, ET logique. Par exemple, "mysql & odbc". mnoGoSearch recherche toutes les URL qui contiennent à la fois les mots "mysql" et "odbc". </para> <para> | - OR, OU logique. Par exemple, "mysql | odbc". mnoGoSearch recherche toutes les URL qui contiennent soit "mysql", soit "odbc". </para> <para> ~ - NOT, NON logique. Par exemple, "mysql & ~odbc". mnoGoSearch recherche toutes les URL qui contiennent le mot "mysql" mais ne contiennent pas le mot "odbc". Attention : la requête "~odbc" ne trouvera rien! </para> <para> () - Groupage de commandes pour les requêtes complexes : par exemple, "(mysql | msql) & ~postgres". Le mode par requête est simple et puissant à la fois. Vous pouvez utiliser les commandes booléennes habituelles avec ce mode. </para> </refsect1> </refentry> <refentry id="function.udm_free_agent"> <refnamediv> <refname>Udm_Free_Agent</refname> <refpurpose>Détruit une session mnoGoSearch</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>udm_free_agent</function></funcdef> <paramdef>int <parameter>agent</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>udm_free_res</function> retourne <literal>TRUE</literal> en cas de succès, <literal>FALSE</literal> sinon. </para> <para> Le paramètre <parameter>res</parameter> est un identifiant de résultat, obtenu après un appel à <parameter>Udm-Find</parameter>. </para> <para> <function>udm_free_agent</function> détruit l'agent de recherche créé par <function>udm_alloc_agent</function>. </para> </refsect1> </refentry> <refentry id="function.udm-free-ispell-data"> <refnamediv> <refname>udm_free_ispell_data</refname> <refpurpose>Libère la mémoire allouée pour ispell</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>udm_free_ispell_data</function></funcdef> <paramdef>int <parameter>agent</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>udm_free_ispell_data</function> retourne toujours <literal>TRUE</literal>. </para> <para> <parameter>agent</parameter> - Agent mnoGoSearch obtenu après un appel à <function>udm_alloc_agent</function>. </para> <note> <para> <function>udm_free_ispell_data</function> est supportée à partir de la version 3.1.12 de mnoGoSearch et elle ne fait strictement rien avec les versions précédentes. </para> </note> </refsect1> </refentry> <refentry id="function.udm_free_res"> <refnamediv> <refname>Udm_Free_Res</refname> <refpurpose>Libère un résultat mnoGoSearch</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>udm_free_res</function></funcdef> <paramdef>int <parameter>res</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>udm_free_res</function> retourne <literal>TRUE</literal> en cas de succès, <literal>FALSE</literal> sinon. </para> <para> Le paramètre <parameter>res</parameter> est un identifiant de résultat, obtenu après un appel à <parameter>Udm-Find</parameter>. </para> <para> <function>udm_free_res</function> libère la mémoire de tous les résultats générés. </para> </refsect1> </refentry> <refentry id="function.udm-get-doc-count"> <refnamediv> <refname>udm_get_doc_count</refname> <refpurpose>Lit le nombre total de documents dans les bases.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>udm_get_doc_count</function></funcdef> <paramdef>int <parameter>agent</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>udm_get_doc_count</function> retourne le nombre de document dans les bases de données. </para> <para> <parameter>agent</parameter> - Agent mnoGoSearch obtenu après un appel à <function>udm_alloc_agent</function>. </para> <note> <simpara> <function>udm_get_doc_count</function> est supporté à partir de la version mnoGoSearch 3.1.11 ou plus récent. </simpara> </note> </refsect1> </refentry> <refentry id="function.udm_get_res_field"> <refnamediv> <refname>Udm_Get_Res_Field</refname> <refpurpose>Lit un champs de résultat mnoGoSearch</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>udm_get_res_field</function></funcdef> <paramdef>int <parameter>res</parameter></paramdef> <paramdef>int <parameter>row</parameter></paramdef> <paramdef>int <parameter>field</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>udm_alloc_agent</function> retourne la valeur du champs <parameter>field</parameter> dans la ligne <parameter>row</parameter>, du résultat <parameter>res</parameter>, et <literal>FALSE</literal> sinon. </para> <para> Le paramètre <parameter>res</parameter> est un identifiant de résultat, obtenu après un appel à <parameter>Udm-Find</parameter>. </para> <para> Le paramètre <parameter>row</parameter> est le numéro du lien dans la page courante. Il peut valoir de 0 jusqu'à <parameter>UDM_PARAM_NUM_ROWS</parameter>. </para> <para> Le paramètre <parameter>field</parameter> est l'identifiant de champs, et peut prendre l'une des valeurs suivantes : </para> <itemizedlist> <listitem> <simpara> UDM_FIELD_URL - Champs URL </simpara> </listitem> <listitem> <simpara> UDM_FIELD_CONTENT - Champs "Content-type" (par exemple, "text/html"). </simpara> </listitem> <listitem> <simpara> UDM_FIELD_TITLE - Titre du document. </simpara> </listitem> <listitem> <simpara> UDM_FIELD_KEYWORDS - Mots clés du document (balise META KEYWORDS). </simpara> </listitem> <listitem> <simpara> UDM_FIELD_DESC - Description du document (balise META DESCRIPTION). </simpara> </listitem> <listitem> <simpara> UDM_FIELD_TEXT - Corps du document (balise body, les premières lignes pour donner une idée du document). </simpara> </listitem> <listitem> <simpara> UDM_FIELD_SIZE - Taille du document. </simpara> </listitem> <listitem> <simpara> UDM_FIELD_URLID - Identifiant unique de l'URL. </simpara> </listitem> <listitem> <simpara> UDM_FIELD_RATING - Score de la page (calculé par mnoGoSearch). </simpara> </listitem> <listitem> <simpara> UDM_FIELD_MODIFIED - Date de modification au format unixtimestamp. </simpara> </listitem> <listitem> <simpara> UDM_FIELD_ORDER - Le nombre de documents trouvés. </simpara> </listitem> <listitem> <simpara> UDM_FIELD_CRC - La valeur CRC du document. </simpara> </listitem> </itemizedlist> </refsect1> </refentry> <refentry id="function.udm_get_res_param"> <refnamediv> <refname>Udm_Get_Res_Param</refname> <refpurpose>Lit les paramètres de résultats mnoGoSearch</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>udm_get_res_param</function></funcdef> <paramdef>int <parameter>res</parameter></paramdef> <paramdef>int <parameter>param</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>udm_get_res_param</function> retourne les paramètres de résultat en cas de succès, <literal>FALSE</literal> en cas d'erreur. </para> <para> Le paramètre <parameter>res</parameter> est un identifiant de résultat, obtenu après un appel à <parameter>Udm-Find</parameter>. </para> <para> Le paramètre <parameter>param</parameter> peut prendre les valeurs suivantes : </para> <itemizedlist> <listitem> <simpara> UDM_PARAM_NUM_ROWS - nombre de liens trouvés dans le groupe de résultat courant. C'est la valeur de UDM_PARAM_PAGE_SIZE pour tous les groupes, sauf le dernier. </simpara> </listitem> <listitem> <simpara> UDM_PARAM_FOUND - Nombre total de résultats trouvés. </simpara> </listitem> <listitem> <simpara> UDM_PARAM_WORDINFO - Informations sur les mots trouvés, c'est à dire que la recherche "un bon libre" retournera "un: stopword, bon:5637, livre: 120" </simpara> </listitem> <listitem> <simpara> UDM_PARAM_SEARCHTIME - Temps de recherche en secondes </simpara> </listitem> <listitem> <simpara> UDM_PARAM_FIRST_DOC - le numéro du premier document affiché dans le groupe. </simpara> </listitem> <listitem> <simpara> UDM_PARAM_LAST_DOC - le numéro du dernier document affiché dans le groupe. </simpara> </listitem> </itemizedlist> </refsect1> </refentry> <refentry id="function.udm-load-ispell-data"> <refnamediv> <refname>udm_load_ispell_data</refname> <refpurpose>Charge les données ispell</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>udm_load_ispell_data</function></funcdef> <paramdef>int <parameter>agent</parameter></paramdef> <paramdef>int <parameter>var</parameter></paramdef> <paramdef>string <parameter>val1</parameter></paramdef> <paramdef>string <parameter>val2</parameter></paramdef> <paramdef>int <parameter>flag</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>udm_load_ispell_data</function> charge des données ispell. <function>udm_load_ispell_data</function> retourne <literal>TRUE</literal> en cas de succès, et <literal>FALSE</literal> en cas d'erreur. </para> <para> <parameter>agent</parameter> - Agent mnoGoSearch obtenu après un appel à <function>udm_alloc_agent</function>. </para> <para> <parameter>var</parameter> - paramètre indiquant la source des données ispell. </para> <para> Après avoir utilisé cette fonction, pensez à libérer les données de la mémoire avec <function>udm_free_ispell_data</function>, même si vous utilisez le mode UDM_ISPELL_TYPE_SERVER. </para> <para> Le mode de plus rapide est UDM_ISPELL_TYPE_SERVER. UDM_ISPELL_TYPE_TEXT est plus lent, et UDM_ISPELL_TYPE_DB est le plus lent. Ce classement est vrai pour mnoGoSearch 3.1.10 - 3.1.11. Il est prévu d'accélérer le mode DB dans les versions futures, et cela sera plus rapide que le mode TEXT. </para> <itemizedlist> <listitem> <simpara> UDM_ISPELL_TYPE_DB indique que les données ispell doivent être chargée depuis la base SQL. Dans ce cas, les paramètres <parameter>val1</parameter> et <parameter>val2</parameter> sont ignorés et doivent être laissés vides. <parameter>flag</parameter> doit valoir <literal>1</literal>. </simpara> <note> <para> <parameter>flag</parameter> indique qu'après le chargement des données ispell à partir de la source, elles doivent être triées (c'est nécessaire au bon fonctionnement d'ispell). Dans le cas où vous chargez les données depuis un fichier, il peut y avoir plusieurs appels à <function>udm_load_ispell_data</function>, et il ne vaut pas la peine de trier les valeurs après chaque appel, mais uniquement à la fin. Etant donné qu'en mode DB, toutes les données sont chargées en une seule fois, ce paramètre doit avoir la valeur de <literal>1</literal>. Dans ce mode, en cas d'erreur, par exemple si la table ispell est absente, la fonction retournera <literal>FALSE</literal> et le code d'erreur, avec son message, seront accessibles avec <function>udm_error</function> et <function>udm_errno</function>. </para> </note> <simpara>Exemple avec <function>udm_load_ispell_data</function></simpara> <informalexample> <programlisting role="C"> if (! Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_DB,'','',1)) { printf("Error #%d: '%s'\n",Udm_Errno($udm),Udm_Error($udm)); exit; } </programlisting> </informalexample> </listitem> <listitem> <para> UDM_ISPELL_TYPE_AFFIX indique que les données ispell doivent être chargée depuis un fichier et initie le chargement. Dans ce cas, <parameter>val1</parameter> définit le code de langue en deux lettre, et <parameter>val2</parameter> est le chemin jusqu'aux fichiers. Notez que si vous utilisez un chemin relatif, le module recherche les fichiers non pas dans UDM_CONF_DIR, mais directement avec le chemin courant, où le script est exécuté. En cas d'erreur avec ce mode, si le fichier est absent, la fonction retourne <literal>FALSE</literal>, et un message d'erreur sera affiché. Les messages d'erreur ne sont pas accessibles avec <function>udm_error</function> et <function>udm_errno</function>, puisque ces fonctions ne traitent que les messages SQL. Reportez vous à la description du paramètre <parameter>flag</parameter>. </para> <simpara>Exemple avec <function>udm_load_ispell_data</function></simpara> <informalexample> <programlisting role="C"> if ((! Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_AFFIX,'en','/opt/ispell/en.aff',0)) || (! Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_AFFIX,'ru','/opt/ispell/ru.aff',0)) || (! Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_SPELL,'en','/opt/ispell/en.dict',0)) || (! Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_SPELL,'ru','/opt/ispell/ru.dict',1))) { exit; } </programlisting> </informalexample> <note> <para> <parameter>flag</parameter> prend la valeur <literal>1</literal> si c'est le dernier appel à cette fonction. </para> </note> </listitem> <listitem> <para> UDM_ISPELL_TYPE_SPELL indique que les données ispell doivent être chargées depuis un fichier, et initie le chargement du dictionnaire. Dans ce cas, <parameter>val1</parameter> définit le code langue sur deux lettres, et <parameter>val2</parameter> le chemin du fichier. Notez que si vous utilisez un chemin relatif, le module recherche les fichiers non pas dans UDM_CONF_DIR, mais directement avec le chemin courant, où le script est exécuté. En cas d'erreur avec ce mode, si le fichier est absent, la fonction retourne <literal>FALSE</literal>, et un message d'erreur sera affiché. Les messages d'erreur ne sont pas accessibles avec <function>udm_error</function> et <function>udm_errno</function>, puisque ces fonctions ne traitent que les messages SQL. Reportez vous à la description du paramètre <parameter>flag</parameter>. </para> <simpara>Exemple avec <function>udm_load_ispell_data</function></simpara> <informalexample> <programlisting role="C"> if ((! Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_AFFIX,'en','/opt/ispell/en.aff',0)) || (! Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_AFFIX,'ru','/opt/ispell/ru.aff',0)) || (! Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_SPELL,'en','/opt/ispell/en.dict',0)) || (! Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_SPELL,'ru','/opt/ispell/ru.dict',1))) { exit; } </programlisting> </informalexample> <note> <para> <parameter>flag</parameter> prend la valeur <literal>1</literal> si c'est le dernier appel à cette fonction. </para> </note> </listitem> <listitem> <para> UDM_ISPELL_TYPE_SERVER active le support des serveurs ispell. <parameter>val1</parameter> indique alors l'adresse de l'hôte qui supporte le serveur ispall. <parameter>val2</parameter> n'est pas encore utilisé, mais dans les cas futurs, il indiquera le numéro de port utilisé par le serveur ispell. <parameter>flag</parameter> n'est pas utile, car les données sont déjà triées. </para> <para> Les serveurs Spelld lisent les données d'orthographe dans une configuration séparée (par défaut <filename>/usr/local/mnogosearch/etc/spelld.conf</filename>), les trie et les stockes en mémoire. Avec les clients, le serveur communique de deux façons : vers les indexeurs, tout le contenu de la mémoire est transféré pour que l'indexeur travaille plus vite; vers le moteur de recherche, il recoit les mots à normaliser, et les rend au client corrigés. Cela permet une plus grande rapidité d'éxécution, en comparaison des modes db et text (notamment, les tris et les chargements sont beaucoup plus rapides). </para> <para> <function>udm_load_ispell_data</function> en mode UDM_ISPELL_TYPE_SERVER ne charge pas vraiment les données ispell, mais définit simplement l'adresse du serveur. En fait, le serveur sera automatiquement utilisé par <function>udm_find</function> lors des recherches. En cas d'erreur, (par exemple si le serveur ispell ne fonctionne pas ou que l'hôte indiqué est invalide), la conversion sera annulée, mais aucun message d'erreur ne sera affiché. </para> <note> <para> Cette fonction est disponible à partir de mnoGoSearch 3.1.12. </para> </note> <simpara>Exemple avec <function>udm_load_ispell_data</function></simpara> <informalexample> <programlisting role="C"> if (! Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_SERVER,'','',1)) { printf("Error loading ispell data from server<br>\n"); exit; } </programlisting> </informalexample> </listitem> </itemizedlist> </refsect1> </refentry> <refentry id="function.udm-set-agent-param"> <refnamediv> <refname>udm_set_agent_param</refname> <refpurpose>Modifie les paramètres de l'agent mnoGoSearch</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>udm_set_agent_param</function></funcdef> <paramdef>int <parameter>agent</parameter></paramdef> <paramdef>int <parameter>var</parameter></paramdef> <paramdef>string <parameter>val</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>udm_set_agent_param</function> retourne <literal>TRUE</literal> en cas de succès et <literal>FALSE</literal> sinon. <function>udm_set_agent_param</function> définit les paramètres de l'agent mnoGoSearch. </para> <simpara> Les paramètres suivants et leurs valeurs sont disponibles : </simpara> <itemizedlist> <listitem> <simpara> UDM_PARAM_PAGE_NUM - Utilisé pour choisir le numéro de groupe de résultat (les résultats sont retournés par groupe, commencant à 0, avec UDM_PARAM_PAGE_SIZE résultats par page). </simpara> </listitem> <listitem> <simpara> UDM_PARAM_PAGE_SIZE - Nombre de résultats affichés par page. </simpara> </listitem> <listitem> <simpara> 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 <function>udm_find</function> pour plus de détails sur les recherches booléennes. </simpara> </listitem> <listitem> <simpara> 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. Lorque deux requête seront similaires, il pourra retourner les résultats plus rapidement, sans recherche. Valeurs disponibles : UDM_CACHE_ENABLED, UDM_CACHE_DISABLED. </simpara> </listitem> <listitem> <simpara> 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 <filename>create/mysql/track.txt</filename>. 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. </simpara> </listitem> <listitem> <simpara> UDM_PARAM_PHRASE_MODE - indique si les index des bases de données utilise des phrases( paramètre "phrase" dans indexer.conf). Valeurs disponibles : UDM_PHRASE_ENABLED and UDM_PHRASE_DISABLED. Notez bien que si la recherche par phrase est activé (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é par le mode cache. </simpara> <simpara> Exemple de recherche par phrase : </simpara> <simpara> "Arizona desert" - Cette requete retourne tous les documents qui contiennent les mots "Arizona desert" comme une phrase. Notez que vous devez mettre des guillemets doubles autour des phrases. </simpara> </listitem> <listitem> <simpara> UDM_PARAM_CHARSET - Définit le jeu de caractères local. Valeurs disponibles : Tous les jeux supportés par mnoGoSearch. koi8-r, cp1251, ... </simpara> </listitem> <listitem> <simpara> 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. </simpara> </listitem> <listitem> <simpara> 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. </simpara> </listitem> <listitem> <simpara> 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 de *Weight commands, dans le fichier <filename>indexer.conf</filename>. Imaginons que vous avez choisi les poids suivants : </simpara> <simpara>URLWeight 1</simpara> <simpara>BodyWeight 2</simpara> <simpara>TitleWeight 4</simpara> <simpara>KeywordWeight 8</simpara> <simpara>DescWeight 16</simpara> <simpara> Comme l'indexeur utiliser 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'apparait qu'une fois dans le corps sera défini par 00000010 (notation binaire). Un mot qui apparaitra dans plusieurs parties pourra avoir la notation 00011111. </simpara> <simpara> La valeur de ce paramètre est une chaîne de chiffres héxadécimaux, sous la forme ABCDE. Chaque chiffre est un facteur correspondant à un poids affecté à une partie du document. Por la situation décrite ci-dessus, </simpara> <simpara>E est le facteur de poids 1 (URL)</simpara> <simpara>D est le facteur de poids 2 (Corps)</simpara> <simpara>C est le facteur de poids 4 (Titre)</simpara> <simpara>B est le facteur de poids 8 (Mots clés)</simpara> <simpara>A est le facteur de poids 16 (Description)</simpara> <simpara> Exemples: </simpara> <simpara> UDM_PARAM_WEIGHT_FACTOR=00001 ne recherche que dans les URL. </simpara> <simpara> UDM_PARAM_WEIGHT_FACTOR=00100 ne recherche que dans les Titres. </simpara> <simpara> UDM_PARAM_WEIGHT_FACTOR=11100 recherche dans les Titres,Mots-clés,Description mais pas dans le corps ou les URL. </simpara> <simpara> UDM_PARAM_WEIGHT_FACTOR=F9421 recherche dans : </simpara> <simpara>Description avec un poids de 15 (F hex)</simpara> <simpara>Keywords avec un poids de 9</simpara> <simpara>Title avec un poids de 4</simpara> <simpara>Body avec un poids de 2</simpara> <simpara>URL avec un poids de 1</simpara> <simpara> Si UDM_PARAM_WEIGHT_FACTOR est omis, la valeur par défaut est utilisée. </simpara> </listitem> <listitem> <simpara> 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 : </simpara> <simpara>UDM_MATCH_BEGIN - début de mot;</simpara> <simpara>UDM_MATCH_END - fin de mot;</simpara> <simpara>UDM_MATCH_WORD - tout le mot;</simpara> <simpara>UDM_MATCH_SUBSTR - une sous-partie de mots.</simpara> </listitem> <listitem> <simpara> UDM_PARAM_MIN_WORD_LEN - définit les tailles extrêmes de mots. Tout mot plus court que la limite inférieur 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 sera ignoré. Par défaut, la valeur est de 1. </simpara> </listitem> <listitem> <simpara> 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 que "test", "tester", etc. seront aussi recherchés. Les suffixes sont supportés par défaut. Les préfixes modifie 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 <function>udm_load_ispell_data</function>. </simpara> </listitem> <listitem> <simpara> UDM_PARAM_CROSS_WORDS - Active ou désactive le support "CROSS_WORDS". Valeurs possibles : UDM_CROSS_WORDS_ENABLED et UDM_CROSS_WORDS_DISABLED. </simpara> <simpara> 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. </simpara> <note> <simpara> CROSS_WORDS est supporté à partir de mnoGoSearch 3.1.11. </simpara> </note> </listitem> </itemizedlist> </refsect1> </refentry><!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:tsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../../manual.ced"sgml-exposed-tags:nilsgml-local-catalogs:nilsgml-local-ecat-files:nilEnd:--> \ No newline at end of file + <reference id="ref.mnogo"> + <title>mnoGoSearch</title> + <titleabbrev>mnoGoSearch</titleabbrev> + <partintro> + <simpara> + Ces fonctions donnent l'accès à mnoGoSearch (anciennement + UdmSearch), moteur de recherche du monde libre. Pour pouvoir les + utiliser, vous devez inclure le support en ajoutant l'option + <option role="configure">--with-mnogosearch</option>. + Si vous utilisez cette option sans indiquer le chemin jusqu'à + mnogosearch, PHP essaiera de le trouver dans le dossier + <filename>/usr/local/mnogosearch</filename>. Si vous avez installé + mnogosearch dans un autre endroit, vous devez l'indiquer comme + ceci : <option role="configure">--with-mnogosearch=DIR</option>. + </simpara> + <para> + mnoGoSearch est une moteur de recherche complet, destinés aux intranet et + serveurs web, distribué sous licence GNU. mnoGoSearch offre des +fonctionnalités + unique, qui en font un excellent outil pour un grand nombre d'applications + de recherche dans votre site : recherche de recettes de cuisines ou dans les + journaux, recherche dans un site FTP, dans les groupes de news, etc... + Il offre un système d'indexation de textes pour les fichiers HTML, PDF et +documents + textes. mnoGoSearch est constitué de deux parties : l'indexeur, qui +effectue les recherches + et le moteur de recherche. L'indexeur passe en revue récursivement les +sites HTTP, + FTP, NEWS ou encore les fichiers locaux, et enregistre des +méta-données dans + les bases MySQL, pour optimiser les recherches ultérieures. + Une fois que tous les documents ont été +référéncés, ils sont accessibles au moteur + de recherche. Celui-ci est utilisable par interface web. Les langages + C CGI, Perl et PHP sont supportés pour effectuer les recherches. + </para> + <note> + <para> + PHP supporte naturellement MySQL. Il faut savoir que mnoGoSearch + n'est pas compatible avec la librairie interne de PHP, et ne + peut fonctionner qu'avec les librairies génériques + MySQL. Par conséquent, si vous utilisez mnoGoSearch avec + MySQL, indiquez le dossier d'installation de MySQL durant + la configuration avec l'option : + <option role="configure">--with-mnogosearch --with-mysql=/usr</option>. + </para> + </note> + <simpara> + Pour utiliser ces fonctions, vous devez installer les versions + 3.1.10 ou plus récente de mnoGoSearch. + </simpara> + <simpara> + Plus de détails sur le site officiel de mnoGoSearch : + <ulink url="&url.mnogo">&url.mnogo;</ulink>. + </simpara> + </partintro> + <refentry id="function.udm-add-search-limit"> + <refnamediv> + <refname>udm_add_search_limit</refname> + <refpurpose>Ajoute différentes limitations de recherche</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>udm_add_search_limit</function></funcdef> + <paramdef>int <parameter>agent</parameter></paramdef> + <paramdef>int <parameter>var</parameter></paramdef> + <paramdef>string <parameter>val</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>udm_add_search_limit</function> retourne <literal>TRUE</literal> + en cas de succès, <literal>FALSE</literal> en cas d'erreur. + <function>udm_add_search_limit</function> ajoute différentes limitations + de recherche. + </para> + <para> + <parameter>agent</parameter> - un identifiant d'Agent, + obtenu après un appel à <function>udm_alloc_agent</function>. + </para> + <para> + <parameter>var</parameter> - nom du paramètre de limitation. + </para> + <para> + <parameter>val</parameter> - Valeur du paramètre sus-cité. + </para> + <para> + <parameter>var</parameter> peut prendre les valeurs suivantes : + </para> + <itemizedlist> + <listitem> + <simpara> + UDM_LIMIT_URL - Définit les limitations sur les URL, pour limiter les + recherches à une partie de la base. Ce paramètre supporte les + jokers SQL '%' et '_' : '%' remplace n'importe quel nombre de +caractères, + même zéro caractères, et '_' remplace exactement un +caractère. + Par exemple, <literal>'http://my.domain.__/catalog'</literal> peut remplacer + <literal>http://my.domain.ru/catalog</literal> ou +<literal>http://my.domain.ua/catalog</literal>. + </simpara> + </listitem> + <listitem> + <simpara> + UDM_LIMIT_TAG - Définit les limitations par étiquettes. Lors de +l'indexation, + vous pouvez assigner des étiquettes sur différentes parties d'un +site. + Les étiquettes de mnoGoSearch 3.1.x sont des lignes, qui peuvent +contenir les + jokers '%' et '_' : '%' remplace n'importe quel nombre de caractères, + même zéro caractères, et '_' remplace exactement un +caractère. + Par exemple, si vous avez les étiquettes ABCD et ABCE, la limitation de +recherche + <literal>ABC_</literal> limitera la recherche à ces deux +étiquettes; + </simpara> + </listitem> + <listitem> + <simpara> + UDM_LIMIT_LANG - Définit les limitations par langue. + </simpara> + </listitem> + <listitem> + <simpara> + UDM_LIMIT_CAT - Définit les limitations par catégorie. Les +catégories sont + similaires aux étiquettes, mais elles peuvent être +imbriquées. Vous pouvez + donc placer des catégories dans d'autres cattégories. Vous devez +utiliser deux + caractères pour chaque niveau. Vous pouvez utiliser des nombres +héxadécimaux + allant de 0 à F ou bien sur une base de 36, allant de 0 à Z. Par +exemple + la catégorie supérieure 'Auto' vaut 01. Si elle a une sous +catégorie + 'Renault', cette dernière sera repérée par 01 +(catégorie mère) suivie + de 01 (dans sa catégorie), ce qui donne "0101". Si 'Auto' a une autre + sous-catégorie 'Peugeot', cette dernière aura le numéro +02, et sera identifiée + par <literal>0102</literal>. Si 'Peugeot' a elle-même une autre +sous-catégorie, + 'Moteur', elle sera numéroté 01, et identifiée uniquement +par <literal>010201</literal>. + Si vous voulez restreindre les recherches à cette catégorie +uniquement, + passez <literal>cat=010201</literal>. + </simpara> + </listitem> + <listitem> + <simpara> + UDM_LIMIT_DATE - Définit les limitations par date de modification du +document. + </simpara> + <simpara> + Format de la valeur : une chaîne de caractères, dont le premier +caractère est + < ou >, puis une date au format unixtimestamp. Par exemple : + </simpara> + <simpara> + Udm_Add_Search_Limit($udm,UDM_LIMIT_DATE,"<908012006"); + </simpara> + <simpara> + Si > est utilisé, la recherche sera limitée aux documents +dont la + date de modification est plus grande que celle qui a été +entrée. + Avec <, c'est le contraire. + </simpara> + </listitem> + </itemizedlist> + </refsect1> + </refentry> + <refentry id="function.udm_alloc_agent"> + <refnamediv> + <refname>Udm_Alloc_Agent</refname> + <refpurpose>Alloue une session mnoGoSearch</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>udm_alloc_agent</function></funcdef> + <paramdef>string <parameter>dbaddr</parameter></paramdef> + <paramdef>string + <parameter> + <optional>dbmode</optional> + </parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>udm_alloc_agent</function> retourne un agent mnogosearch + en cas de succès, <literal>FALSE</literal> en cas d'erreur. + <function>udm_alloc_agent</function> crée une session avec les + paramètres de base de données. + </para> + <para> + <parameter>dbaddr</parameter> est une description de base de données + formaté comme une URL. Les options (type, hôte, nom de base de +données , port, utilisateur + ou mot de passe) servent à se connecter à la base de +données SQL. + Ne passez aucune valeur si vous souhaitez utiliser le support des fichiers + texte intégré. Sinon, utilisez le format : + <literal>DBAddr DBType:[//[DBUser[:DBPass]@]DBHost[:DBPort]]/DBName/</literal>. + Actuellement, les valeurs de DBType possibles sont : + mysql, pgsql, msql, solid, mssql, oracle, ibase. En fait, si vous avez +ajouté + un support natif, cette option est inutile. Mais les utilisateurs ODBC doivent + spécifier une des valeurs supportées. Si votre type de base de +données n'est pas + supporté, utilisez le terme "unknown". + </para> + <para> + <parameter>dbmode</parameter> - Vous pouvez selectionner le mode de stockage + des mots dans la base de données. Si vous indiquez "single", tous les +mots seront + sotckés dans la même table. Si vous indiquez "multi", les mots +seront situés + dans différentes tables, suivant leur taille. Le mode "multi" est +généralement plus + rapide, mais requiert plus de tables. Si le mode "crc" est selectionné, +mnoGoSearch + enregistrera un entier de 32 bits, calculé avec l'algorithme CRC32, +plutot que des + des mots. Ce mode requiert moins d'espace disque, et il est beaucoup plus rapide + que les modes "single" et "multi". "crc-multi" utilise la même technique +de stockage que + le mode "crc", mais il stocke aussi les mots dans différentes tables +suivant leur + taille. Format: DBMode single/multi/crc/crc-multi. + </para> + <note> + <para> + <parameter>dbaddr</parameter> et <parameter>dbmode</parameter> doit correspondre + à ceux qui sont utilisés lors de l'indexation. + </para> + </note> + <note> + <para> + En réalité, <function>udm_alloc_agent</function> n'ouvre + pas de connexion, et donc, ne vérifie ni le nom d'utilisateur, + ni le mot de passe. + </para> + </note> + </refsect1> + </refentry> + <refentry id="function.udm-api-version"> + <refnamediv> + <refname>udm_api_version</refname> + <refpurpose>Lit la version des API mnoGoSearch.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>udm_api_version</function></funcdef> + <paramdef><parameter></parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>udm_api_version</function> retourne le numéro de version + des API mnoGoSearch. Par exemple, si mnoGosearch 3.1.10 est utilisé, + <function>udm_api_version</function> retournera <literal>30110</literal>. + </para> + <para> + <function>udm_api_version</function> permet aux utilisateurs d'identifier + quelles sont les API disponibles. Par exemple, +<function>udm_get_doc_count</function> + n'est disponible qu'à partir de mnoGoSearch 3.1.11. + </para> + <simpara>Exemple avec <function>udm_api_version</function></simpara> + <informalexample> + <programlisting role="C"> + if (Udm_Api_Version() >= 30111) { + print "Total number of urls in database: +".Udm_Get_Doc_Count($udm)."<br>\n"; + } + </programlisting> + </informalexample> + </refsect1> + </refentry> + <refentry id="function.udm-clear-search-limits"> + <refnamediv> + <refname>udm_clear_search_limits</refname> + <refpurpose>Annule toutes les limitations de recherche</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>udm_clear_search_limits</function></funcdef> + <paramdef>int <parameter>agent</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>udm_clear_search_limits</function> annule toutes les limitations + de recherche imposées, et retourne <literal>TRUE</literal>. + </para> + </refsect1> + </refentry> + <refentry id="function.udm_errno"> + <refnamediv> + <refname>Udm_Errno</refname> + <refpurpose>Numéro d'erreur mnoGoSearch</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>udm_errno</function></funcdef> + <paramdef>int <parameter>agent</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>udm_errno</function> retourne le numéro d'erreur mnoGoSearch, + ou bien <literal>0</literal> sinon. + </para> + <para> + Le paramètre <parameter>agent</parameter> est un identifiant + de résultat, obtenu après un appel à +<parameter>Udm_Alloc_Agent</parameter>. + </para> + <para> + <function>udm_errno</function> retourne le numéro de l'erreur + généré par l'agent <parameter>agent</parameter>. + </para> + </refsect1> + </refentry> + <refentry id="function.udm_error"> + <refnamediv> + <refname>Udm_Error</refname> + <refpurpose>Message d'erreur mnoGoSearch</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>udm_error</function></funcdef> + <paramdef>int <parameter>agent</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>udm_errno</function> retourne le message d'erreur mnoGoSearch, + ou bien une chaîne vide sinon. + </para> + <para> + Le paramètre <parameter>agent</parameter> est un identifiant + de résultat, obtenu après un appel à +<parameter>Udm_Alloc_Agent</parameter>. + </para> + <para> + <function>udm_error</function> retourne le numéro de l'erreur + généré par l'agent <parameter>agent</parameter>. + </para> + </refsect1> + </refentry> + <refentry id="function.udm_find"> + <refnamediv> + <refname>Udm_Find</refname> + <refpurpose>Effectue une recherche</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>udm_find</function></funcdef> + <paramdef>int <parameter>agent</parameter></paramdef> + <paramdef>string <parameter>query</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>udm_add_search_limit</function> retourne + <literal>TRUE</literal> en cas de succès, et + <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + La recherche en elle-même. Le premier argument <parameter>agent</parameter> + est la session, le second est la <parameter>query</parameter>. + Pour rechercher, entrez les mots avec lesquels que vous voulez + faire une recherche, puis cliquez sur le bouton d'envoi. + Par exemple, "<literal>mysql odbc</literal>". Vous ne devez + pas utiliser de guillemets doubles <literal>"</literal>, car + ils sont utilisés par mnoGoSearch pour séparer une requête +en + mots. Avec l'exemple ci-dessus, mnoGoSearch va rechercher les + pages contenant "mysql" et/ou "odbc". Les meilleures réponses + seront classées en premier, et affichées en tête de liste. + Si vous selectionez le mode de recherche "tous" ("ALL"), la recherche + va retourner les documents qui contiennent l'un ou l'autre + des mots que vous avez entré. Dans le cas où vous utilisez le + mode "ANY", la recheche retourne la lsite des documents qui contiennent + l'un ou l'autre des mots. Si vous voulez accéder aux fonctions + avancées de recherche, vous pouvez utiliser le mode "BOOL", qui + vous permet d'entrer directement des requêtes. + </para> + <para> + mnoGoSearch utilise les opérateurs booléean suivants : + </para> + <para> + & - AND, ET logique. Par exemple, "mysql & + odbc". mnoGoSearch recherche toutes les URL qui contiennent + à la fois les mots "mysql" et "odbc". + </para> + <para> + | - OR, OU logique. Par exemple, "mysql | + odbc". mnoGoSearch recherche toutes les URL qui contiennent + soit "mysql", soit "odbc". + </para> + <para> + ~ - NOT, NON logique. Par exemple, "mysql & ~odbc". + mnoGoSearch recherche toutes les URL qui contiennent le + mot "mysql" mais ne contiennent pas le mot "odbc". + Attention : la requête "~odbc" ne trouvera rien! + </para> + <para> + () - Groupage de commandes pour les requêtes complexes : par exemple, + "(mysql | msql) & ~postgres". Le mode par requête est + simple et puissant à la fois. Vous pouvez utiliser les commandes + booléennes habituelles avec ce mode. + </para> + </refsect1> + </refentry> + <refentry id="function.udm_free_agent"> + <refnamediv> + <refname>Udm_Free_Agent</refname> + <refpurpose>Détruit une session mnoGoSearch</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>udm_free_agent</function></funcdef> + <paramdef>int <parameter>agent</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>udm_free_res</function> retourne <literal>TRUE</literal> en + cas de succès, <literal>FALSE</literal> sinon. + </para> + <para> + Le paramètre <parameter>res</parameter> est un identifiant + de résultat, obtenu après un appel à +<parameter>Udm-Find</parameter>. + </para> + <para> + <function>udm_free_agent</function> détruit l'agent de recherche + créé par <function>udm_alloc_agent</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.udm-free-ispell-data"> + <refnamediv> + <refname>udm_free_ispell_data</refname> + <refpurpose>Libère la mémoire allouée pour +ispell</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>udm_free_ispell_data</function></funcdef> + <paramdef>int <parameter>agent</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>udm_free_ispell_data</function> retourne toujours +<literal>TRUE</literal>. + </para> + <para> + <parameter>agent</parameter> - Agent mnoGoSearch obtenu après un appel +à + <function>udm_alloc_agent</function>. + </para> + <note> + <para> + <function>udm_free_ispell_data</function> est supportée à partir de + la version 3.1.12 de mnoGoSearch et elle ne fait strictement rien avec les + versions précédentes. + </para> + </note> + </refsect1> + </refentry> + <refentry id="function.udm_free_res"> + <refnamediv> + <refname>Udm_Free_Res</refname> + <refpurpose>Libère un résultat mnoGoSearch</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>udm_free_res</function></funcdef> + <paramdef>int <parameter>res</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>udm_free_res</function> retourne <literal>TRUE</literal> en + cas de succès, <literal>FALSE</literal> sinon. + </para> + <para> + Le paramètre <parameter>res</parameter> est un identifiant + de résultat, obtenu après un appel à +<parameter>Udm-Find</parameter>. + </para> + <para> + <function>udm_free_res</function> libère la mémoire de tous + les résultats générés. + </para> + </refsect1> + </refentry> + <refentry id="function.udm-get-doc-count"> + <refnamediv> + <refname>udm_get_doc_count</refname> + <refpurpose>Lit le nombre total de documents dans les bases.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>udm_get_doc_count</function></funcdef> + <paramdef>int <parameter>agent</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>udm_get_doc_count</function> retourne le nombre de document + dans les bases de données. + </para> + <para> + <parameter>agent</parameter> - Agent mnoGoSearch obtenu après un appel +à + <function>udm_alloc_agent</function>. + </para> + <note> + <simpara> + <function>udm_get_doc_count</function> est supporté à partir de la +version + mnoGoSearch 3.1.11 ou plus récent. + </simpara> + </note> + </refsect1> + </refentry> + <refentry id="function.udm_get_res_field"> + <refnamediv> + <refname>Udm_Get_Res_Field</refname> + <refpurpose>Lit un champs de résultat mnoGoSearch</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>udm_get_res_field</function></funcdef> + <paramdef>int <parameter>res</parameter></paramdef> + <paramdef>int <parameter>row</parameter></paramdef> + <paramdef>int <parameter>field</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>udm_alloc_agent</function> retourne la valeur du + champs <parameter>field</parameter> dans la ligne <parameter>row</parameter>, + du résultat <parameter>res</parameter>, et + <literal>FALSE</literal> sinon. + </para> + <para> + Le paramètre <parameter>res</parameter> est un identifiant + de résultat, obtenu après un appel à +<parameter>Udm-Find</parameter>. + </para> + <para> + Le paramètre <parameter>row</parameter> est le numéro du lien dans + la page courante. Il peut valoir de 0 jusqu'à + <parameter>UDM_PARAM_NUM_ROWS</parameter>. + </para> + <para> + Le paramètre <parameter>field</parameter> est l'identifiant de + champs, et peut prendre l'une des valeurs suivantes : + </para> + <itemizedlist> + <listitem> + <simpara> + UDM_FIELD_URL - Champs URL + </simpara> + </listitem> + <listitem> + <simpara> + UDM_FIELD_CONTENT - Champs "Content-type" (par exemple, "text/html"). + </simpara> + </listitem> + <listitem> + <simpara> + UDM_FIELD_TITLE - Titre du document. + </simpara> + </listitem> + <listitem> + <simpara> + UDM_FIELD_KEYWORDS - Mots clés du document (balise META KEYWORDS). + </simpara> + </listitem> + <listitem> + <simpara> + UDM_FIELD_DESC - Description du document (balise META DESCRIPTION). + </simpara> + </listitem> + <listitem> + <simpara> + UDM_FIELD_TEXT - Corps du document (balise body, les premières lignes + pour donner une idée du document). + </simpara> + </listitem> + <listitem> + <simpara> + UDM_FIELD_SIZE - Taille du document. + </simpara> + </listitem> + <listitem> + <simpara> + UDM_FIELD_URLID - Identifiant unique de l'URL. + </simpara> + </listitem> + <listitem> + <simpara> + UDM_FIELD_RATING - Score de la page (calculé par mnoGoSearch). + </simpara> + </listitem> + <listitem> + <simpara> + UDM_FIELD_MODIFIED - Date de modification au format unixtimestamp. + </simpara> + </listitem> + <listitem> + <simpara> + UDM_FIELD_ORDER - Le nombre de documents trouvés. + </simpara> + </listitem> + <listitem> + <simpara> + UDM_FIELD_CRC - La valeur CRC du document. + </simpara> + </listitem> + </itemizedlist> + </refsect1> + </refentry> + <refentry id="function.udm_get_res_param"> + <refnamediv> + <refname>Udm_Get_Res_Param</refname> + <refpurpose>Lit les paramètres de résultats mnoGoSearch</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>udm_get_res_param</function></funcdef> + <paramdef>int <parameter>res</parameter></paramdef> + <paramdef>int <parameter>param</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>udm_get_res_param</function> retourne les paramètres + de résultat en cas de succès, <literal>FALSE</literal> en cas +d'erreur. + </para> + <para> + Le paramètre <parameter>res</parameter> est un identifiant + de résultat, obtenu après un appel à +<parameter>Udm-Find</parameter>. + </para> + <para> + Le paramètre <parameter>param</parameter> peut prendre les valeurs + suivantes : + </para> + <itemizedlist> + <listitem> + <simpara> + UDM_PARAM_NUM_ROWS - nombre de liens trouvés dans le groupe de +résultat courant. + C'est la valeur de UDM_PARAM_PAGE_SIZE pour tous les groupes, sauf le dernier. + </simpara> + </listitem> + <listitem> + <simpara> + UDM_PARAM_FOUND - Nombre total de résultats trouvés. + </simpara> + </listitem> + <listitem> + <simpara> + UDM_PARAM_WORDINFO - Informations sur les mots trouvés, c'est à +dire que + la recherche "un bon libre" retournera "un: stopword, bon:5637, livre: 120" + </simpara> + </listitem> + <listitem> + <simpara> + UDM_PARAM_SEARCHTIME - Temps de recherche en secondes + </simpara> + </listitem> + <listitem> + <simpara> + UDM_PARAM_FIRST_DOC - le numéro du premier document affiché dans +le groupe. + </simpara> + </listitem> + <listitem> + <simpara> + UDM_PARAM_LAST_DOC - le numéro du dernier document affiché dans +le groupe. + </simpara> + </listitem> + </itemizedlist> + </refsect1> + </refentry> + <refentry id="function.udm-load-ispell-data"> + <refnamediv> + <refname>udm_load_ispell_data</refname> + <refpurpose>Charge les données ispell</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>udm_load_ispell_data</function></funcdef> + <paramdef>int <parameter>agent</parameter></paramdef> + <paramdef>int <parameter>var</parameter></paramdef> + <paramdef>string <parameter>val1</parameter></paramdef> + <paramdef>string <parameter>val2</parameter></paramdef> + <paramdef>int <parameter>flag</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>udm_load_ispell_data</function> charge des données ispell. + <function>udm_load_ispell_data</function> retourne <literal>TRUE</literal> + en cas de succès, et <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + <parameter>agent</parameter> - Agent mnoGoSearch obtenu après un appel +à + <function>udm_alloc_agent</function>. + </para> + <para> + <parameter>var</parameter> - paramètre indiquant la source des +données ispell. + </para> + <para> + Après avoir utilisé cette fonction, pensez à libérer +les données de la + mémoire avec <function>udm_free_ispell_data</function>, même si vous + utilisez le mode UDM_ISPELL_TYPE_SERVER. + </para> + <para> + Le mode de plus rapide est UDM_ISPELL_TYPE_SERVER. UDM_ISPELL_TYPE_TEXT est + plus lent, et UDM_ISPELL_TYPE_DB est le plus lent. Ce classement est vrai + pour mnoGoSearch 3.1.10 - 3.1.11. Il est prévu d'accélérer +le mode DB dans les + versions futures, et cela sera plus rapide que le mode TEXT. + </para> + <itemizedlist> + <listitem> + <simpara> + UDM_ISPELL_TYPE_DB indique que les données ispell doivent être +chargée depuis la + base SQL. Dans ce cas, les paramètres <parameter>val1</parameter> et + <parameter>val2</parameter> sont ignorés et doivent être +laissés vides. + <parameter>flag</parameter> doit valoir <literal>1</literal>. + </simpara> + <note> + <para> + <parameter>flag</parameter> indique qu'après le chargement des +données ispell + à partir de la source, elles doivent être triées (c'est +nécessaire au bon + fonctionnement d'ispell). Dans le cas où vous chargez les +données depuis un fichier, + il peut y avoir plusieurs appels à +<function>udm_load_ispell_data</function>, + et il ne vaut pas la peine de trier les valeurs après chaque appel, +mais uniquement + à la fin. Etant donné qu'en mode DB, toutes les données +sont chargées en une seule + fois, ce paramètre doit avoir la valeur de <literal>1</literal>. Dans +ce mode, en + cas d'erreur, par exemple si la table ispell est absente, la fonction +retournera + <literal>FALSE</literal> et le code d'erreur, avec son message, seront +accessibles avec + <function>udm_error</function> et <function>udm_errno</function>. + </para> + </note> + <simpara>Exemple avec <function>udm_load_ispell_data</function></simpara> + <informalexample> + <programlisting role="C"> + if (! Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_DB,'','',1)) { + printf("Error #%d: '%s'\n",Udm_Errno($udm),Udm_Error($udm)); + exit; + } + </programlisting> + </informalexample> + </listitem> + <listitem> + <para> + UDM_ISPELL_TYPE_AFFIX indique que les données ispell doivent être +chargée + depuis un fichier et initie le chargement. Dans ce cas, +<parameter>val1</parameter> + définit le code de langue en deux lettre, et <parameter>val2</parameter> +est le chemin + jusqu'aux fichiers. Notez que si vous utilisez un chemin relatif, le module +recherche + les fichiers non pas dans UDM_CONF_DIR, mais directement avec le chemin courant, + où le script est exécuté. En cas d'erreur avec ce mode, si +le fichier est absent, + la fonction retourne <literal>FALSE</literal>, et un message d'erreur sera +affiché. + Les messages d'erreur ne sont pas accessibles avec +<function>udm_error</function> et + <function>udm_errno</function>, puisque ces fonctions ne traitent que les +messages + SQL. Reportez vous à la description du paramètre +<parameter>flag</parameter>. + </para> + <simpara>Exemple avec <function>udm_load_ispell_data</function></simpara> + <informalexample> + <programlisting role="C"> + if ((! +Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_AFFIX,'en','/opt/ispell/en.aff',0)) || + (! +Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_AFFIX,'ru','/opt/ispell/ru.aff',0)) || + (! +Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_SPELL,'en','/opt/ispell/en.dict',0)) || + (! +Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_SPELL,'ru','/opt/ispell/ru.dict',1))) { + exit; + } + </programlisting> + </informalexample> + <note> + <para> + <parameter>flag</parameter> prend la valeur <literal>1</literal> si c'est le +dernier appel + à cette fonction. + </para> + </note> + </listitem> + <listitem> + <para> + UDM_ISPELL_TYPE_SPELL indique que les données ispell doivent +être chargées + depuis un fichier, et initie le chargement du dictionnaire. Dans ce cas, + <parameter>val1</parameter> définit le code langue sur deux lettres, +et + <parameter>val2</parameter> le chemin du fichier. Notez que si vous utilisez + un chemin relatif, le module recherche les fichiers non pas dans UDM_CONF_DIR, + mais directement avec le chemin courant, où le script est +exécuté. En cas d'erreur + avec ce mode, si le fichier est absent, la fonction retourne +<literal>FALSE</literal>, + et un message d'erreur sera affiché. Les messages d'erreur ne sont pas +accessibles avec + <function>udm_error</function> et <function>udm_errno</function>, puisque ces +fonctions + ne traitent que les messages SQL. Reportez vous à la description du +paramètre + <parameter>flag</parameter>. + </para> + <simpara>Exemple avec <function>udm_load_ispell_data</function></simpara> + <informalexample> + <programlisting role="C"> + if ((! +Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_AFFIX,'en','/opt/ispell/en.aff',0)) || + (! +Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_AFFIX,'ru','/opt/ispell/ru.aff',0)) || + (! +Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_SPELL,'en','/opt/ispell/en.dict',0)) || + (! +Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_SPELL,'ru','/opt/ispell/ru.dict',1))) { + exit; + } + </programlisting> + </informalexample> + <note> + <para> + <parameter>flag</parameter> prend la valeur <literal>1</literal> si c'est le +dernier appel + à cette fonction. + </para> + </note> + </listitem> + <listitem> + <para> + UDM_ISPELL_TYPE_SERVER active le support des serveurs ispell. +<parameter>val1</parameter> + indique alors l'adresse de l'hôte qui supporte le serveur ispall. +<parameter>val2</parameter> + n'est pas encore utilisé, mais dans les cas futurs, il indiquera le +numéro de port + utilisé par le serveur ispell. <parameter>flag</parameter> n'est pas +utile, car les + données sont déjà triées. + </para> + <para> + Les serveurs Spelld lisent les données d'orthographe dans une + configuration séparée (par défaut +<filename>/usr/local/mnogosearch/etc/spelld.conf</filename>), + les trie et les stockes en mémoire. Avec les clients, le serveur +communique + de deux façons : vers les indexeurs, tout le contenu de la +mémoire + est transféré pour que l'indexeur travaille plus vite; vers le + moteur de recherche, il recoit les mots à normaliser, et les rend + au client corrigés. Cela permet une plus grande rapidité +d'éxécution, + en comparaison des modes db et text (notamment, les tris et les + chargements sont beaucoup plus rapides). + </para> + <para> + <function>udm_load_ispell_data</function> en mode UDM_ISPELL_TYPE_SERVER + ne charge pas vraiment les données ispell, mais définit +simplement l'adresse + du serveur. En fait, le serveur sera automatiquement utilisé par + <function>udm_find</function> lors des recherches. En cas d'erreur, + (par exemple si le serveur ispell ne fonctionne pas ou que l'hôte +indiqué + est invalide), la conversion sera annulée, mais aucun message d'erreur +ne + sera affiché. + </para> + <note> + <para> + Cette fonction est disponible à partir de mnoGoSearch 3.1.12. + </para> + </note> + <simpara>Exemple avec <function>udm_load_ispell_data</function></simpara> + <informalexample> + <programlisting role="C"> + if (! Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_SERVER,'','',1)) { + printf("Error loading ispell data from server<br>\n"); + exit; + } + </programlisting> + </informalexample> + </listitem> + </itemizedlist> + </refsect1> + </refentry> + <refentry id="function.udm-set-agent-param"> + <refnamediv> + <refname>udm_set_agent_param</refname> + <refpurpose>Modifie les paramètres de l'agent mnoGoSearch</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>udm_set_agent_param</function></funcdef> + <paramdef>int <parameter>agent</parameter></paramdef> + <paramdef>int <parameter>var</parameter></paramdef> + <paramdef>string <parameter>val</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>udm_set_agent_param</function> retourne <literal>TRUE</literal> en + cas de succès et <literal>FALSE</literal> sinon. +<function>udm_set_agent_param</function> + définit les paramètres de l'agent mnoGoSearch. + </para> + <simpara> + Les paramètres suivants et leurs valeurs sont disponibles : + </simpara> + <itemizedlist> + <listitem> + <simpara> + UDM_PARAM_PAGE_NUM - Utilisé pour choisir le numéro de +groupe de résultat (les + résultats sont retournés par groupe, commencant à 0, +avec UDM_PARAM_PAGE_SIZE + résultats par page). + </simpara> + </listitem> + <listitem> + <simpara> + UDM_PARAM_PAGE_SIZE - Nombre de résultats affichés par page. + </simpara> + </listitem> + <listitem> + <simpara> + 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 <function>udm_find</function> pour plus de détails sur les +recherches booléennes. + </simpara> + </listitem> + <listitem> + <simpara> + 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. Lorque +deux + requête seront similaires, il pourra retourner les résultats +plus rapidement, + sans recherche. Valeurs disponibles : UDM_CACHE_ENABLED, +UDM_CACHE_DISABLED. + </simpara> + </listitem> + <listitem> + <simpara> + 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 <filename>create/mysql/track.txt</filename>. 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. + </simpara> + </listitem> + <listitem> + <simpara> + UDM_PARAM_PHRASE_MODE - indique si les index des bases de données +utilise des + phrases( paramètre "phrase" dans indexer.conf). Valeurs disponibles +: + UDM_PHRASE_ENABLED and UDM_PHRASE_DISABLED. + Notez bien que si la recherche par phrase est activé +(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é par le mode cache. + </simpara> + <simpara> + Exemple de recherche par phrase : + </simpara> + <simpara> + "Arizona desert" - Cette requete retourne tous les documents qui contiennent + les mots "Arizona desert" comme une phrase. Notez que vous devez mettre des + guillemets doubles autour des phrases. + </simpara> + </listitem> + <listitem> + <simpara> + UDM_PARAM_CHARSET - Définit le jeu de caractères local. +Valeurs disponibles : + Tous les jeux supportés par mnoGoSearch. koi8-r, cp1251, ... + </simpara> + </listitem> + <listitem> + <simpara> + 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. + </simpara> + </listitem> + <listitem> + <simpara> + 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. + </simpara> + </listitem> + <listitem> + <simpara> + 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 de *Weight commands, dans le fichier +<filename>indexer.conf</filename>. + Imaginons que vous avez choisi les poids suivants : + </simpara> + <simpara>URLWeight 1</simpara> + <simpara>BodyWeight 2</simpara> + <simpara>TitleWeight 4</simpara> + <simpara>KeywordWeight 8</simpara> + <simpara>DescWeight 16</simpara> + <simpara> + Comme l'indexeur utiliser 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'apparait qu'une fois dans le corps + sera défini par 00000010 (notation binaire). Un mot qui apparaitra + dans plusieurs parties pourra avoir la notation 00011111. + </simpara> + <simpara> + La valeur de ce paramètre est une chaîne de chiffres +héxadécimaux, sous la + forme ABCDE. Chaque chiffre est un facteur correspondant à un poids + affecté à une partie du document. Por la situation +décrite ci-dessus, + </simpara> + <simpara>E est le facteur de poids 1 (URL)</simpara> + <simpara>D est le facteur de poids 2 (Corps)</simpara> + <simpara>C est le facteur de poids 4 (Titre)</simpara> + <simpara>B est le facteur de poids 8 (Mots clés)</simpara> + <simpara>A est le facteur de poids 16 (Description)</simpara> + <simpara> + Exemples: + </simpara> + <simpara> + UDM_PARAM_WEIGHT_FACTOR=00001 ne recherche que dans les URL. + </simpara> + <simpara> + UDM_PARAM_WEIGHT_FACTOR=00100 ne recherche que dans les Titres. + </simpara> + <simpara> + UDM_PARAM_WEIGHT_FACTOR=11100 recherche dans les +Titres,Mots-clés,Description mais pas dans + le corps ou les URL. + </simpara> + <simpara> + UDM_PARAM_WEIGHT_FACTOR=F9421 recherche dans : + </simpara> + <simpara>Description avec un poids de 15 (F hex)</simpara> + <simpara>Keywords avec un poids de 9</simpara> + <simpara>Title avec un poids de 4</simpara> + <simpara>Body avec un poids de 2</simpara> + <simpara>URL avec un poids de 1</simpara> + <simpara> + Si UDM_PARAM_WEIGHT_FACTOR est omis, la valeur par défaut est + utilisée. + </simpara> + </listitem> + <listitem> + <simpara> + 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 : + </simpara> + <simpara>UDM_MATCH_BEGIN - début de mot;</simpara> + <simpara>UDM_MATCH_END - fin de mot;</simpara> + <simpara>UDM_MATCH_WORD - tout le mot;</simpara> + <simpara>UDM_MATCH_SUBSTR - une sous-partie de mots.</simpara> + </listitem> + <listitem> + <simpara> + UDM_PARAM_MIN_WORD_LEN - définit les tailles extrêmes de mots. + Tout mot plus court que la limite inférieur 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 sera ignoré. Par +défaut, la valeur + est de 1. + </simpara> + </listitem> + <listitem> + <simpara> + 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 que "test", "tester", etc. + seront aussi recherchés. Les suffixes sont supportés par +défaut. Les préfixes modifie + 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 +<function>udm_load_ispell_data</function>. + </simpara> + </listitem> + <listitem> + <simpara> + UDM_PARAM_CROSS_WORDS - Active ou désactive le support "CROSS_WORDS". + Valeurs possibles : UDM_CROSS_WORDS_ENABLED et UDM_CROSS_WORDS_DISABLED. + </simpara> + <simpara> + 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. + </simpara> + <note> + <simpara> + CROSS_WORDS est supporté à partir de mnoGoSearch 3.1.11. + </simpara> + </note> + </listitem> + </itemizedlist> + </refsect1> + </refentry> + </reference> +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +sgml-parent-document:nil +sgml-default-dtd-file:"../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +-->