Services webmasters
Partenaires
Jeux concours gratuits
 
Restrictions avec full-text
<<<
Paramétrage précis de la recherche Full-text de MySQL A faire dans la recherche Full-text
>>>

6.8 Recherche en Texte-entier (Full-text) dans MySQL
6 Référence du langage MySQL
 Manuel de Référence MySQL 4.1 : Version Française

Restrictions avec full-text
->Paramétrage précis de la recherche Full-text de MySQL
A faire dans la recherche Full-text

6.8.2 Paramétrage précis de la recherche Full-text de MySQL

La recherche sur texte entier n'a malheureusement pas encore beaucoup de paramètres modifiables par l'utilisateur, même si l'ajout de certains apparaît très haut dans le TODO. Si vous utilisez MySQL depuis les sources ( Installer MySQL à partir des sources ), vous pouvez mieux contrôler le fonctionnement de la recherche sur texte entier.

La recherche sur texte entier a été paramétrée pour une efficacité de recherche maximale. La modification du comportement par défaut ne fera généralement que diminuer la qualité des résultats des recherches. Il ne faut pas modifier les sources de MySQL sans savoir précisément ce qu'on fait.
  • La taille minimale des mots à indexer est définie dans la variable ft_min_word_len de MySQL. SHOW VARIABLES . Vous pouvez modifier cette valeur pour celle que vous préférez, puis reconstruire les index FULLTEXT . (Cette variable n'existe que pour la version 4.0 de MySQL)
  • La liste des mots rejetés est définie dans le fichier myisam/ft_static.c . Modifiez le selon vos goûts, recompilez MySQL et reconstruisez vos index FULLTEXT .
  • Le taux de 50% est déterminé par la méthode de pondération choisie. Pour le désactiver, il faut changer la ligne suivante dans myisam/ftdefs.h :
    
    #define GWS_IN_USE GWS_PROB
    
    Par la ligne:
    
    #define GWS_IN_USE GWS_FREQ
    
    Puis recompiler MySQL. Il n'est pas nécessaire de reconstruire les index dans ce cas. Note : En faisant ces modifications, vous diminuez énormément les capacités de MySQL à fournir des valeurs pertinentes pour la fonction MATCH() . Si vous avez réellement besoin de faire des recherches avec ces mots courants, il est préférable de rechercher EN MODE BOOLEEN , lequel ne respecte pas le taux de 50%.
  • Parfois le gestionnaire du moteur de recherche voudrait changer les opérateurs utilisés pour les recherches booléennes sur des textes entiers. Ceux ci sont définis dans la variable ft_boolean_syntax . SHOW VARIABLES . Cependant, cette variable n'est pas modifiable, sa valeur est fixée dans myisam/ft_static.c .
Pour les modifications qui nécessitent une reconstruction des index FULLTEXT , la méthode la plus simple pour les tables MyISAM est l'opération suivante, qui reconstruit les fichiers d'index :

mysql> REPAIR TABLE nom_de_table USE_FRM;

<< Paramétrage précis de la recherche Full-text de MySQL >>
Restrictions avec full-text Recherche en Texte-entier (Full-text) dans MySQL A faire dans la recherche Full-text
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -