Effectuer des recherches en texte intégral

MySQL:recherches en texte intégral

1. Principes

MySQL permet d’effectuer des recherches de mots sur l’ensemble d’un texte (ou de plusieurs textes).

Pour utiliser cette fonctionnalité, il faut :

  • créer un index spécial, de type FULLTEXT ;

  • utiliser la fonction MATCH AGAINST dans les recherches.

Les index FULLTEXT peuvent être créés sur des colonnes de type CHAR, VARCHAR ou TEXT, mais uniquement sur des tables MyISAM ou InnoDB.

Index:FULLTEXT MyISAM

2. Création de l’index FULLTEXT

FULLTEXT

Les index FULLTEXT peuvent être créés lors de la création initiale de la table (dans l’ordre CREATE TABLE) ou ultérieurement (par un ordre ALTER TABLE ou un ordre CREATE FULLTEXT INDEX).

Pour créer un index FULLTEXT dans un ordre CREATE TABLE ou ALTER TABLE, il faut utiliser une clause FULLTEXT similaire à la clause INDEX présentée dans le chapitre Construire une base de données dans MySQL. L’ordre CREATE FULLTEXT INDEX est une variante de l’ordre CREATE INDEX présenté dans le chapitre Construire une base de données dans MySQL.

Syntaxe

CREATE TABLE nom_table 
( 
spécification_colonnes, 
FULLTEXT(nom_colonne[,...]) 
) 
ALTER TABLE nom_table ADD FULLTEXT(nom_colonne[,...]) 
CREATE FULLTEXT INDEX nom_index ON nom_table(nom_colonne[,...]) 

Exemple

mysql> CREATE FULLTEXT INDEX ix_texte   
    ->...
couv_RI58PH8MY.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Effectuer des recherches à l’aide des expressions rationnelles
Suivant
Développer des programmes stockés