Je travaille sur une simple fonctionnalité de recherche en texte intégral MySQL sur un site CakePHP, et j'ai remarqué que MySQL déshabille les mots courts (3 caractères ou moins) hors de la requête. Certains des éléments du site ont 3 titres de caractères, cependant, et je voudrais les inclure dans les résultats. (J'ai exclu en utilisant des appareils de recherche plus robustes comme Solr en raison de contraintes budgétaires)PHP: trouver des mots de 3 caractères dans la chaîne de requête pour augmenter la recherche en texte intégral MySQL
Je veux donc trouver des mots de 3 caractères dans la chaîne de requête, et faire une recherche rapide juste sur le champ de titre. Le moyen le plus simple que je peux penser pour faire ceci est de explode()
la chaîne et parcourir le tableau résultant avec strlen()
pour trouver des mots de 3 caractères. Ensuite, je vais prendre ces mots et faire une recherche LIKE
sur le champ de titre, juste pour s'assurer que rien qui devrait évidemment être dans les résultats a été manqué.
Existe-t-il un moyen meilleur/plus facile d'aborder cette question?
MISE À JOUR: Oui, je connais le paramètre ft_min_word_len
dans MySQL. Je ne pense pas que je veux faire ça.
Vous pouvez rechercher votre base de données avec 3 caractères en utilisant ceci? – nn2
Ce n'est probablement pas la meilleure façon de s'y prendre, mais cela a fonctionné pour moi. – bjudson