Jump to content

Résultats recherche incohérents


Recommended Posts

Bonjour,

 

J'ai un problème pour configurer mon moteur de recherche.
J'ai des résultats incohérent, par exemple quand je recherche une référence je trouve bien mon produit mais il ne sort pas forcement en premier et les autres résultats n'ont aucun rapport avec ma recherche.

 

L'index est bien reconstruit pourtant.

 

En PJ la config de mon moteur de recherche.

Si quelqu'un peux m'aiguiller un peu car pour le moment ça fait pas très pro.

post-1178768-0-26729400-1464795984_thumb.png

Edited by poisson (see edit history)
Link to comment
Share on other sites

Toujours personne ?

Par exemple quand je cherche "TP 21", bien que la référence est un poid de 10, le produit de ref TP 21 ne sort qu'en 4 ème position.
Ca me pose réellement problème car la plupart des recherches sur le site se fait par la référence produit.

Link to comment
Share on other sites

Le problème peut venir de l'espace que vous semblez avoir dans vos références. Du coup elles sont indexées selon 2 mots, "TP" et "21" dans ce cas. Les autres produits trouvés pourraient bien avoir des références du type TP 211, TP 212, etc...

 

=> Supprimez les caractères considérés comme séparateurs (espace, ., -, _) de vos références, ou bien modifiez le jeu de séparateurs (/classes/Search.php).

Link to comment
Share on other sites

Merci pour ton retour.
Effectivement les premiers résultats comporte bien les caractères rechercher mais il me semblait logique de retrouver le résultats exact de ma recherche en premier ce qui n'est visiblement pas le cas.

Changer l'espace de mes ref serait la meilleur solution certes mais je n'ai pas le choix.
Modifier le jeu se séparateur qu'entends tu par là ? Ca voudrait dire qu'une recherche qu'avec des espace serait assimilé à une recherche avec un seul mot en gros ?

 

EDIT : d'ailleurs à quel endroit je peux changer (supprimer) le jeu de séparateur dans la classe search ?

Edited by poisson (see edit history)
Link to comment
Share on other sites

Pour changer la façon dont les mots de recherche sont déterminés, il faudrait modifier le code de la classe Search. On pourrait, par exemple, faire en sorte que les caractères _ ou - soient des caractères à part entière et pas des séparateurs, et ainsi permettre de chercher exactement des références du type "TP_21" ou "TP-21". Par contre, considérer les espaces eux-mêmes comme des caractères rendrait la recherche quasiment inopérante (un seul mot cherché à chaque fois).

 

Si vous avez possibilité de modifier les références, c'est plus sûr!

 

PS: il y a la ligne 110 (en PS 1.6.1.5) de Search.php qui remplace les ., _, et - des mots à indexer par un espace, en créant ainsi plusieurs mots. Si vous modifiez ça, il faut aussi modifier en conséquence la préparation de la chaine de recherche. Je ne peux pas vous dire comme ça comment faire, il faudrait regarder plus précisément...

Edited by erouvier29 (see edit history)
Link to comment
Share on other sites

Oui effectivement la meilleur solution pour moi c'est de rajouter un séparateur à mes ref.
Alors en regardant la classe de plus prêt la ligne 110 c'est pour l'indexation.
Après pour la recherche ça se fait sur les lignes 112 à 129 et là va falloir je me remette au expressions régulières  :(

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...