Naoki63 Posted May 13, 2013 Share Posted May 13, 2013 Bonjour. J'utilise le moteur de recherche rapide de base de PrestaShop et j'aurais aimé que ce dernier soit plus précis. En effet, prenons un produit ayant pour nom Boîtier minitour. Si je commence à taper boi ou encore min, il parvient à trouver le produit. Si en revanche, je tape nito (contenu dans minitour), il ne trouve pas le produit, c'est embêtant. Pour ce faire, je me suis dit qu'il devait y avoir moyen de modifier la requête de recherche. J'ai donc regardé du côté du fichier Search.php du dossier classes. À la ligne 369, on a cette ligne: $scoreArray[] = 'sw.word LIKE \''.pSQL(Tools::substr($word, 0, PS_SEARCH_MAX_WORD_LENGTH)).'%\''; J'ai donc voulu la modifier ainsi (en rouge ce qui a été rajouté): $scoreArray[] = 'sw.word LIKE \'%'.pSQL(Tools::substr($word, 0, PS_SEARCH_MAX_WORD_LENGTH)).'%\''; J'ai mis à jour le fichier, recompilé Smarty (des fois que...) et bien vidé le cache et ensuite ré-indexé mes produits. Toujours le même problème : le moteur de recherche est incapable de trouver un produit si le mot tapé est un bout de mot qui ne se trouve au début de ce dernier. J'ai également placé le % de la requête juste après le LIKE et un espace, mais sans effet. Cela veut donc dire que je modifie le mauvais fichier. Quelqu'un saurait-il donc quoi modifier pour que le moteur de recherche soit capable de trouver un produit à partir de 3 lettres minimum, même si ces dernières sont au milieu/à la fin d'un mot d'article ? Merci à vous. Link to comment Share on other sites More sharing options...
Naoki63 Posted May 16, 2013 Author Share Posted May 16, 2013 Un petit UP . Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now