aide prestashop PhenixSuite Help
    • Catégories
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Recherche
    • S'inscrire
    • Se connecter

    la classe search

    Planifier Épinglé Verrouillé Déplacé Bugs & Améliorations
    2 Messages 2 Publieurs 185 Vues 2 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • herve_02H Hors-ligne
      herve_02
      dernière édition par herve_02

      Bon
      je n'ai peut être pas les yeux en face des trous... et parfois il y a des subtilités que je ne comprends pas (le truc des images, je ne suis pas d'accord sur le break, mais je relirais après 2 jours de calme).
      donc de ce que j'ai compris la classe search

      find(....) {
      blablabla

      1. ajout éola recherche sur les refs on cherche si le/les termes de recherches donnent qqchose sur les références
        ==> donne une liste de produits
        1b) ajouté par moi on fait la même chose recherche nom des fournisseurs si rien sur les refs
        ==> donne une liste de produit

      SI LISTE DE PRODUITS

      • SI AJAX -> une requête => return
      • sinon une autre requête => return
        (ce qui n'est pas idiot, on devrait pouvoir avec des résultats différents entre la recherche auto-complétive et le résultat sur la page)

      SI PAS LISTE DE PRODUITS (suite ref - et fournisseurs)
      travail sur les termes avec poids de recherche blablabla

      • SI AJAX -> une requête
        et une autre requête
        et une intersections que je ne comprends pas
        => donne liste de produits

      SI LISTE DE PRODUITS
      ---> Product::getProductsProperties(...) => return

      Pourquoi on ne peut pas faire un truc un peu plus simple du style

      1. recherche ref -> pool_result
      2. si pas 1 recherche fournisseurs -> pool_result
      3. si pas 2 recherche termes -> pool result
      4. recherche (pool_result) ==> return produits

      Ok, ce fonctionnement semble impliquer que si le chercheur veut trouver dans les termes qqchose qui est une référence, il n'aura que des références et pas le produits. ex j'ai une référence "rose" s'il cherche l livre "la rose" (qui n'a pas rose comme référence) c'est mort, mais j'ai l'impression que c'est déjà le cas.

      Le truc le plus "compliqué. on me demande de pouvoir trouver un livre sur son titre (impossible pour moi).
      par exemple si le livre "parcours du combattant" existe alors la recherche "parcours du combattant" ne doit donner que cette réponse MAIS s'il n'existe pas alors oui tout les titres qui ont combattant et/ou parcours doivent sortir. Dans le temps (il y a 20 ans) j'avais pour un de mes sites un trucs ressemblant avec la fonctionnalité search full text qui exist(ait?) dans mysql et qui donnait un indice de concordance (je n'ai pas lu le code qui déterminait l'indice de concordance) ainsi sans avoir fait de test, parce que autre temps, autres besoins.... je pense que "parcours du combattant" le livre serait sorti en bonne position, sinon en premier. (de mémoire il calculait la présence des mots dans les champs de recherche en pondérant par le nombre d'apparitions des mots dans tous les enregistrements ainsi si rose est présent que dans un seul enregistrement il avait un poids très fort et sir fleur était présent dans tous les enregistrements il avait un poids null)

      je n'ai pas de solutions, je ne fais que poser des questions qui soulevent plus de question encore. - on ne se refait pas.

      Autant rếver , le rếve est gratuit pour le moment, cela pourrait ouvrir à des insertions de blocs de recherche conditionnels, celui qui veut une recherche sur la marque il y a juste un bloc à ajouter (ou un switch de conf...) sans rien toucher d'autres.

      1 réponse Dernière réponse Répondre Citer 0
      • eoliaE Hors-ligne
        eolia
        dernière édition par

        Il y aurait beaucoup à faire sur cette classe (piquée à Joomlà à l'origine) mais cela dépend aussi de comment vous avez paramétré vos préférence de recherche.
        Si vous voulez principalement matcher sur les titres/auteurs mettez un poids à 0 sur les descriptions par exemple.
        Vous pouvez aussi forcer "mot exact" mais tant pis pour ceux qui font des fautes de frappe...

        Créateur de PhenixSuite. Pour plus d'infos : https://eoliashop.com

        1 réponse Dernière réponse Répondre Citer 0
        • Premier message
          Dernier message
        bug
        26 sujets
        1.6
        24 sujets
        front-office
        11 sujets
        1.5
        8 sujets
        1.7
        5 sujets
        système
        4 sujets
        administration
        3 sujets
        hack
        3 sujets
        module
        3 sujets
        performance
        3 sujets
        smtp
        3 sujets
        transporteurs
        3 sujets
        dashboard
        2 sujets
        https
        2 sujets
        paypal
        2 sujets
        promotions
        2 sujets