Services webmasters
Partenaires
Jeux concours gratuits
 
udm_get_res_param
<<<
udm_load_ispell_data udm_open_stored
>>>

7.60 mnoGoSearch
7 Index des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Configuration à l'exécution
Types de ressources
Constantes prédefinies
udm_add_search_limit
udm_alloc_agent
udm_api_version
udm_cat_list
udm_cat_path
udm_check_charset
udm_check_stored
udm_clear_search_limits
udm_close_stored
udm_crc32
udm_errno
udm_error
udm_find
udm_free_agent
udm_free_ispell_data
udm_free_res
udm_get_doc_count
udm_get_res_field
udm_get_res_param
->udm_load_ispell_data
udm_open_stored
udm_set_agent_param

7.60.26 udm_load_ispell_data()Charge les données ispell

[ Exemples avec udm_load_ispell_data ]   PHP 4 >= 4.0.5

bool  udm_load_ispell_data ( resource   agent , int   var , string   val1 , string   val2 , int   flag )

udm_load_ispell_data charge des données ispell. Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.

agent - Agent mnoGoSearch obtenu après un appel à udm_alloc_agent .

var - paramètre indiquant la source des données ispell.

Après avoir utilisé cette fonction, pensez à libérer les données de la mémoire avec udm_free_ispell_data , même si vous utilisez le mode UDM_ISPELL_TYPE_SERVER .

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.

  • UDM_ISPELL_TYPE_DB indique que les données ispell doivent être chargée depuis la base SQL. Dans ce cas, les paramètres val1 et val2 sont ignorés et doivent être laissés vides. flag doit valoir 1 .

    Note

    flag 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 à udm_load_ispell_data , 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 1 . Dans ce mode, en cas d'erreur, par exemple si la table ispell est absente, la fonction retournera FALSE et le code d'erreur, avec son message, seront accessibles avec udm_error et udm_errno .

    Exemple avec udm_load_ispell_data
    
    if (! udm_load_ispell_data($udm,UDM_ISPELL_TYPE_DB,'','',1)) {
      printf("Erreur #%d: '%s'\n", udm_errno($udm), udm_error($udm));
      exit;
    }
  • UDM_ISPELL_TYPE_AFFIX indique que les données ispell doivent être chargée depuis un fichier et initie le chargement. Dans ce cas, val1 définit le code de langue en deux lettre, et val2 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 FALSE , et un message d'erreur sera affiché. Les messages d'erreur ne sont pas accessibles avec udm_error et udm_errno , puisque ces fonctions ne traitent que les messages SQL. Reportez-vous à la description du paramètre flag .

    Exemple avec udm_load_ispell_data et UDM_ISPELL_TYPE_AFFIX
    
    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;
         }
    Note

    flag prend la valeur 1 si c'est le dernier appel à cette fonction.

  • 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, val1 définit le code langue sur deux lettres, et val2 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 FALSE , et un message d'erreur sera affiché. Les messages d'erreur ne sont pas accessibles avec udm_error et udm_errno , puisque ces fonctions ne traitent que les messages SQL. Reportez-vous à la description du paramètre flag .

    Exemple avec udm_load_ispell_data et UDM_ISPELL_TYPE_SPELL
    
    <?php
         
    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;
          }
    ?>
    Note

    flag prend la valeur 1 si c'est le dernier appel à cette fonction.

  • UDM_ISPELL_TYPE_SERVER active le support des serveurs ispell. val1 indique alors l'adresse de l'hôte qui supporte le serveur ispall. val2 n'est pas encore utilisé, mais dans les cas futurs, il indiquera le numéro de port utilisé par le serveur ispell. flag n'est pas utile, car les données sont déjà triées.

    Les serveurs Spelld lisent les données d'orthographe dans une configuration séparée (par défaut /usr/local/mnogosearch/etc/spelld.conf ), 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 reçoit les mots à normaliser, et les rend au client corrigés. Cela permet une plus grande rapidité d'exécution, en comparaison des modes db et text (notamment, les tris et les chargements sont beaucoup plus rapides).

    udm_load_ispell_data 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 udm_find 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é.

    Note

    Cette fonction est disponible à partir de mnoGoSearch 3.1.12.

    Exemple avec udm_load_ispell_data et UDM_ISPELL_TYPE_SERVER
    
    <?php
      
    if (!udm_load_ispell_data($udm,UDM_ISPELL_TYPE_SERVER,'','',1)) {
        
    printf("Erreur au chargement de la librairie ispell sur le serveur<BR>\n");
        exit;
      }
    ?>

<< udm_load_ispell_data >>
udm_get_res_param mnoGoSearch udm_open_stored
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -