Calarith Posted March 26, 2009 Share Posted March 26, 2009 Bonjour,Voila je m'intéresse au système de recherche (module (quick search bloc)), et plus particulièrement à la manière dont est rechercher le terme saisie.J'ai remarquer une chose, si ce terme est composé (chose qui arrive souvent quand même), il ne sera pas retrouver à moins d'inscrire le terme composé ex : J.GABINOn entre "gabin" dans la recherche, le résultat est négatif, maintenant on entre "j.gabin" le résultat est positif.L'utilisation des Alias ne m'est d'aucun secours, ils ne me permettent pas de faire la jonction de gabin à j.gabin.Cependant lorsque je fait une recherche de j.gabin ou de jgabin sa marche pareil, y a t-il moyen de palier à ce souci et de ne faire la recherche que sur gabin sans tenir compte de l'initiale avant ?Peut être dans le fichier Search en "oubliant"/supprimant ce qui se trouve avant le point ? Mais j'ai peur que cela bloque le processus... $string = preg_replace('/[._]+/', '', $string); Une autre solution serai de modifier le système d'indexiation, pour qu'il prenne que ce qui se trouve de l'autre coté du point (car ce point est remplacer) mais du coup JGABIN ne veut plus rien dire.Mais la j'avoue ne pas trop connaître comment sa index.merci d'avance pour toutes informations ou conseils Link to comment Share on other sites More sharing options...
Damien Metzger Posted March 26, 2009 Share Posted March 26, 2009 Le problème des recherches *gabin, c'est qu'il est alors impossible d'indexer les données dans la base, entrainant une perte de perf monstrueuse (1000%).On pourrait éventuellement faire un index inversé, mais je suis pas fan de cette solution. Link to comment Share on other sites More sharing options...
Calarith Posted March 26, 2009 Author Share Posted March 26, 2009 La modification je la verrai plus sur le système d'index alors...Dans la table des mots indexés il y a jgabin et pas gabin, il fait un preg_replace du point, à ce moment ne peut t-on pas lui faire supprimer ce qu'il y a avant le point ?Bon après sa risque de devenir un cas particulier qui ne s'applique pas à tous les type de site ... Link to comment Share on other sites More sharing options...
Damien Metzger Posted March 26, 2009 Share Posted March 26, 2009 Exactement.L'avantage du système actuel est qu'il permet de conserver les références. Si je prends le produit ref. 32-24-235, il référencera 3224235 et le retrouvera de la même manière à la recherche. Maintenant si je fais comme tu dis, ça donnera 32, 24 et 235 et je ne retrouverais jamais le produit. Link to comment Share on other sites More sharing options...
Calarith Posted March 27, 2009 Author Share Posted March 27, 2009 Je comprend c'est vrai que sa aide, pourrais-tu me dire s'il te plais quel est le fichier qui gère le système d'indexiation, je n'arrive pas à le trouver.Celui même qui définie que le (point) sera pas indexé ?Merci d'avance Link to comment Share on other sites More sharing options...
Damien Metzger Posted March 27, 2009 Share Posted March 27, 2009 /classes/Search.phpTu m'as montré une regexp plus haut... Link to comment Share on other sites More sharing options...
Calarith Posted March 29, 2009 Author Share Posted March 29, 2009 Rebonjour, désoler de relancer ce post, mais juste une petite question.L'inversion des $product['features'] avec $product['attributes'] est-elle normal ? ou est-ce une petite erreur/oublie ? $product['tags'] = self::getTags($db, $product['id_product'], $product['id_lang']); $product['features'] = self::getAttributes($db, $product['id_product'], $product['id_lang']); $product['attributes'] = self::getFeatures($db, $product['id_product'], $product['id_lang']); Ligne 278 (classes/Search.php)Version SVN : MAJ 29/03/09 Link to comment Share on other sites More sharing options...
Damien Metzger Posted March 29, 2009 Share Posted March 29, 2009 Ca n'est absolument pas normal, mais ça n'est absolument pas gênant.Quoi que si, ça inverse les scores attribués à chacun depuis le back office.Beau coup d'oeil, je corrige Link to comment Share on other sites More sharing options...
arcrespel27 Posted August 26, 2009 Share Posted August 26, 2009 quelqu'un a t'il trouvée la solution à ce problème ? j'ai la même chose si je tape j.doe il trouve mais uniquement doe et la rien!?merci pour votre aide. 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