Maison  >  Article  >  base de données  >  Éléments auxquels vous devez faire attention lors de l'implémentation de la récupération de texte intégral à l'aide de FULLTEXT de MySQL

Éléments auxquels vous devez faire attention lors de l'implémentation de la récupération de texte intégral à l'aide de FULLTEXT de MySQL

小云云
小云云original
2017-12-13 14:38:111719parcourir

Pour l'anglais, l'attribut FULLTEXT de MySQL est très pratique et efficace pour implémenter la récupération de texte intégral, mais vous devez faire attention à certaines choses lors de l'utilisation. Savez-vous ce que vous savez sur les précautions à prendre pour implémenter FULLTEXT de MySQL. récupération de texte intégral ? En fait, l'éditeur a testé cette chose. Il ne prend pas en charge le chinois, mais puisque vous l'utilisez, il y a encore certaines choses auxquelles vous devez faire attention.

Ajoutez d'abord l'attribut FULLTEXT aux champs que nous devons récupérer (en supposant que la table ait été créée) :

alter table table_name add fulltext index(filed_1,filed_2);

Ensuite, interrogez les données :

 SELECT * FROM table_name WHERE MATCH (filed_1,filed_2) AGAINST ('keyword');

Ici Cela implique une note très importante :

MySQL stipule que lorsque le nombre de lignes où se trouve le mot recherché dans la recherche en texte intégral est supérieur ou égal à la moitié du nombre de toutes les lignes recherchées, le mot recherché sera considéré comme un mot commun, c'est-à-dire qu'il n'est pas affiché. (Les conditions spécifiques doivent être déterminées en consultant les informations)

Par conséquent, en supposant que pendant le test, il n'y a qu'une seule ligne de données dans la table, donc quelle que soit la manière dont l'instruction de requête ci-dessus est exécutée, la le résultat renvoyé est toujours vide. Pas de panique, ajoutez simplement quelques éléments de données supplémentaires sans mots-clés à rechercher et vous obtiendrez des résultats ~

Bien sûr, MySQL fournit un filtrage des résultats de requête plus puissant :

 SELECT * FROM table_name WHERE MATCH (filed_1,filed_2) AGAINST (' keyword_1 -keyword_2' IN BOOLEAN MODE);

De cette façon, les données contenant le mot-clé_1 seront renvoyées et les données contenant le mot-clé_2 seront filtrées.

Recommandations associées :

Recherche en texte intégral MySQL, solutions chinoises et exemple de partage de code

Recherche en texte intégral PHP+MYSQL et recherche complète -outils de recherche de texte

Introduction au didacticiel SQL Server Full Text Search_PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn