la classe search



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