Super moteur de recherche

All contributions published for previous SPIP versions

Ce squelette permet d’avoir un moteur de recherche « à la ht://dig », c’est-à-dire avec des pourcentages de pertinence et des pages multiples

... ©opyleft Adrien Poirot: Adrien Poirot

updated on 11 February 2007

Discussion

17 discussions

  • 1

    Salut,

    Merci pour ce super moteur de recherche !!!
    Il marche parfaitement, il est clair et efficace.

    En 2 mots :
    Merci
    Bravo

    (implémenté sur un SPIP 1.7.2 fr)

    • Bonsoir,

      Pouvez vous nous monter comment intégrer ce script(emplacement:php ou html?) et les fichiers concernés par ce changement.
      D’autre part j’ai un moteur qui fonctionne bien en local (easyphp 1.7) mais une fois le site en ligne, le moteur ne tourne plus.J’utilise spip 1.8.2 d
      Merci de me secourir

    Reply to this message

  • Merci beaucoup tres joli moteur dont vous pouvez voir ici la mise en pratique.

    Reply to this message

  • Dolphynious

    Bonjour,

    J’ai eu un problème avec cette astuce, qui permet de masquer des articles, entre autre dans les résultats d’une recherche. Or le super moteur de recherche, lui, dénombre tous les articles trouvés : il indiquera X articles trouvés mais en affichera X moins les Y articles éventuellement cachés. Plutôt que redoubler le critère {doublons} dans la boucle CountArticles, une simple soustraction peut faire l’affaire :

    <?
    $NbResults_mask = 0;
    $NbResults = 0; // initialisation du comptage
    $MaxPts = 0;?>
    
    <BOUCLE_articles_masquer(ARTICLES) {recherche} {titre_mot=masquer} {doublons}>
    <? $NbResults_mask++; // marque et dénombre les articles à cacher 
    ?>
    </BOUCLE_articles_masquer>
    
    <BOUCLE_CountArticles(ARTICLES){recherche}{par points}{inverse}>
    <?
    $NbResults++; // bête incrémentation (basique mais efficace)
    if ($MaxPts==0) $MaxPts = #POINTS; // ?>
    </BOUCLE_CountArticles>
    
    <?
    $NbResults-=$NbResults_mask;  // soustrait les articles cachés aux articles trouvés 
    ?>

    (“masquer” est le mot-clé utilisé pour cacher les articles. Reste à insérer le critère {doublons} dans la boucle articles pour ne pas afficher les articles cachés. Pour tout ça, cf ici)

    Reply to this message

  • c’est normal de n’obtenir ke du 100% a chake fois??
    Fo attendre un peu ?

    Reply to this message

  • Super! Merci :-)

    Pour les fanas de l’alignement des chiffres (dont moi...), vous pouvez remplacer

    < f o n t color=#666600>[ <? echo number_format($PerCent, 0); ?>  %] < / f o n t>

    par

    < f o n t color=#666600 face="Courier New, Courier, mono">[ <? if (number_format($PerCent, 0) < 10)
    {
    echo "00"; 
    }else if (number_format($PerCent, 0) < 100){
    echo "0"; 
    }
    echo number_format($PerCent, 0); ?>
     %] < / f o n t >

    Les “0” peuvent être remplacés par des espaces insécables (& n b s p ;).

    Merci encore, Tjos

    Reply to this message

  • VALES Boris

    Je trouve ce script bien sympa en plus en changeant un peu le source on peut afficher les resultats pour les rubriques
    «» tout simple et tout simplement merci

    Reply to this message

  • Est-il possible d’étendre la recherche dans les fichiers joints ?

    Reply to this message

  • 1
    oliviette

    Suite à la modification du moteur de recherche dans la version 1.6, j’ai remarqué que ce script ne marchait plus bien. En effet, lorsqu’il y a plusieures pages de résultat, la première marche bien, mais sur les suivantes, les liens se présentent tels qu’ils étaient dans les versions antérieures, c’est à dire avec le paramètre ?var_recherche=xxxxx à la suite de l’url ce qui à pour effet de rendre le lien inopérant.

    Voila, si quelqu’un est capable de corriger ce problème, moi je suis trop unconpétant pour cela.

    Bien amicalement,

    • Emmanuel Vivier (Creadrive)

      Bonjour pour régler ce problème qui apparaît à partir de la version 1.6 de spip,
      il suffit de remplacer ob_start (“”) par ob_start () dans inc_public_global.

    Reply to this message

  • 2

    pour un webmaster un peu blaireau ce serait possible?

    Merci d’avance

    • Charles CHASSON

      J’essaye de mettre le formulaire avec bouton de cette page sur la page de garde mais il semble que cela ne marche pas.

      Que faut-il inserer exactement à la page “sommaire” pour que cela marche ?

      Amicalement

      Charles

    • Je me heurte au même problème ! La commande #FORMULAIRE_RECHERCHE ne passe pas...

      Mais je débute vraiment. Si qq’un à le temps de redonner tout ce qui est nécessaire au fonctionnement et à l’insertion du formulaire de rcherche... merci d’avance

    Reply to this message

  • Correction du code de la page :

    il faut mettre
    $MaxPage = ceil($NbResults/10);

    et non
    $MaxPage = floor($NbResults/10)+1;

    Sinon, avec 20 résultats, par exemple, on obtient 3 pages (or il en faut 2)

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom