Veuillez me dire comment faire correspondre les mots-clés suivants
Par exemple, les caractères de stockage de la base de données sont : sfsdf4-1bbsdfsd ;
Si l'utilisateur saisit 41bb, 4 1bb, cette chaîne peut également correspondreComment faire ça ?
Merci
Ce dont vous avez besoin n'est pas une recherche floue MySQL.
Nécessite la prise en charge des moteurs de recherche.
Créez un nouveau champ pour stocker la chaîne après avoir supprimé les caractères spéciaux qui doivent être ignorés, tels que : sfsdf41bbsdfsd Lors de l'interrogation, effectuez la même opération sur les mots-clés et utilisez le nouveau champ pour faire correspondre
.MySQL prend en charge la recherche d'expressions régulières, telles que
SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
Je pense que nous devrions d'abord traiter les données soumises par l'utilisateur, diviser les données soumises par l'utilisateur avec des lignes de séparation spatiales, former un tableau, puis utiliser les données de ce tableau pour effectuer une requête floue, puis récupérer les mêmes données. . . Mais lorsqu'un grand nombre d'utilisateurs interrogent de cette manière, je pense que votre système sera ralenti très lentement, il n'est donc pas recommandé d'utiliser ce modèle de conception
La question du titre est définie sur la recherche par segmentation de mots. La recherche floue directe ne peut pas correspondre aux résultats. L'utilisation de la recherche par expressions régulières est trop inefficace et n'est pas recommandée. De plus, il existe trop de scénarios. Si vous la développez et la mettez en œuvre vous-même, ce sera le cas. difficile de tous les considérer. .
Il est recommandé d'utiliser un moteur de recherche. Sphinx est très simple à utiliser et supporte très bien MySQL
Le sujet de la question a une balise php. Si vous utilisez souvent le développement php, Xunsearch l'est également. bien, http://www.xunsearch .com/ Développés par des chinois, les documents sont tous en chinois et très pratiques à utiliser.
Utiliser un moteur de recherche, c'est ce qu'ils font professionnellement