Caractéristiques de l'index de texte complet
Types de modes de recherche de texte complet
Trois types de recherche peuvent être réalisés en utilisant l'index FullText, qui est expliqué ci-dessous:
1. Mode booléen
Ce type de recherche est utilisé pour les requêtes qui contiennent des opérateurs booléens, tels que l'opérateur inférieur à (''), plus le signe ('+'), moins le signe ('-'), Double Quotes («»), Wildcard Operator ( '*), etc.
2. Mode du langage naturel
Le type de recherche par défaut interprète la chaîne de recherche comme une phase littérale.
3. Mode d'extension de requête
La recherche est effectuée deux fois dans ce type de recherche. La deuxième recherche est appliquée au résultat de la première recherche pour découvrir la sortie de recherche la plus pertinente.
Conditions préalables
Créez une table avec des données dans une base de données MySQL pour vérifier l'utilisation de la recherche de texte complet dans MySQL. Ouvrez le terminal et connectez-vous au serveur MySQL en exécutant la commande suivante:
$ sudo mysql -u racineExécutez la commande suivante pour créer une base de données nommée test_db:
Créer une base de données test_db;Exécutez la commande suivante pour sélectionner la base de données:
Utilisez test_db;Exécutez la requête suivante pour créer un tableau nommé clients avec cinq champs:
Créer des clients de table (Exécutez la requête d'insertion suivante pour insérer quatre enregistrements dans le clients tableau.
Insérer dans les valeurs «Clients» («id», «nom», «e-mail», «adresse», «contact_no»)Exécutez la commande suivante pour ajouter l'index complet pour le adresse champ du clients tableau:
Alter Table Clients Ajouter FullText (adresse);Exécutez la commande suivante pour vérifier la liste des index définis du clients tableau:
Afficher l'index des clients;Sortir
La sortie suivante montre que deux index existent pour le clients tableau. L'un est l'index Btree qui a été défini par défaut pour le champ principal, et un autre est l'index FullText qui a été défini plus tard pour le adresse champ:
Utilisations de la recherche de texte complet
La recherche dans le tableau à l'aide de différents modes de l'index FullText a été affichée dans ce tutoriel.
Recherche de texte complet en mode booléen
La requête de sélection suivante recherchera le mot 'Dhanmondi' dans le adresse champ du clients table en mode booléen. Le clients Le tableau ne contient qu'un seul enregistrement correspondant à ce critère:
Sélectionnez * chez les clients où correspondre (adresse) contre («Dhanmondi» en mode booléen);Sortir
La sortie suivante apparaîtra après avoir exécuté la requête précédente:
Exécutez la requête de sélection suivante pour rechercher les deux mots, 'Dhaka ' et 'Jigatola ' dans le adresse champ du clients Tableau en utilisant l'index complet en mode booléen. Il y a deux lignes dans le clients table qui contiennent les deux mots, 'Dhaka ' et 'Jigatola ':
Sélectionner * parmi les clientsSortir
La sortie suivante apparaîtra après avoir exécuté la requête précédente. La sortie montre que le adresse le champ contient 'Dhaka ' et 'Jigatola ':
Exécutez la requête de sélection suivante pour rechercher les lignes de la table des clients qui contiennent le mot 'Dhaka ' mais ne contient pas le mot 'Jigatola ' dans le adresse champ du clients Tableau en utilisant l'index complet en mode booléen. Deux lignes existent dans le clients Tableau qui correspond aux critères:
Sélectionnez * parmi les clients où correspondre (adresse) contre ('dhaka -jigatola' en mode booléen);Sortir
La sortie suivante apparaîtra après avoir exécuté la requête précédente. La sortie montre le adresse le champ contient 'Dhaka ' mais non 'Jigatola ':
Recherche de texte complet en mode langage naturel
Exécutez la commande suivante pour ajouter l'index complet pour le nom champ du clients tableau:
ALTER TABLE Les clients Ajouter FullText (nom);La requête de sélection suivante recherchera le mot 'Sankar ' dans le nom champ du clients Tableau en mode langue naturelle. Le clients Le tableau contient deux enregistrements correspondant à ce critère:
Sélectionner * parmi les clientsSortir
La sortie suivante apparaîtra après avoir exécuté la requête précédente. Les lignes qui contiennent le 'sarkaR 'valeur dans le nom Le champ a été montré dans la sortie:
Recherche de texte complet en mode d'extension de requête
La requête de sélection suivante recherchera le mot 'Laboni ' dans le nom champ du clients Tableau en mode d'extension de requête. Le clients Le tableau contient deux enregistrements correspondant à ce critère:
Sélectionner * parmi les clientsSortir
La sortie suivante apparaîtra après avoir exécuté la requête précédente. Dans la sortie, le champ de nom de la première ligne contient le mot 'Laboni ' avec un autre mot, 'Sarkar ', Et le champ de nom de la deuxième ligne contient le mot correspondant, 'Sarkar '.
Déposer l'index de texte complet
Exécutez la commande suivante pour supprimer l'index complet du nom champ:
Nom d'index des clients de la table alter le nom;Exécutez la commande suivante pour vérifier la liste d'index actuelle du clients table après avoir retiré l'index complet du nom champ:
Afficher l'index des clients;Sortir
La sortie suivante apparaîtra après avoir exécuté la requête précédente. La sortie montre que le clients le tableau contient un index btree pour le identifiant champ et un texte complet pour le adresse champ:
Conclusion
Les différentes façons de rechercher du contenu dans un tableau à l'aide de l'index FullText ont été affichés dans ce tutoriel pour aider les nouveaux utilisateurs de MySQL à apprendre les utilisations de la recherche de texte complet dans MySQL. De plus, les fonctionnalités complètes de l'index FullText ont été discutées. Nous espérons que vous avez trouvé cet article utile. Découvrez d'autres articles sur les conseils pour plus de conseils et de tutoriels.