Jump to content

Recommended Posts

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...