7.61 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.61.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;   } ?>
 
 |  
  
 
 |