Installation de myisam_suggest

myisam_suggest est obligatoire pour utiliser le plugin SPIP Suggest ! Pour l’installer il faut avoir un accès SSH en root. Si vous avez donc cet accés, vous pouvez continuer la lecture de cette documentation.

Cet article est tiré de http://blog.dev001.net/2009/01/myis... (lien mort).

Myisam_suggest est un programme développé sous licence GPL 2 permettant de faire une recherche dans les index Fulltext à partir du début d’un mot.
Couplé à un script AJAX, ce programme peut faire un effet « à la google suggest » et le plus grand intérêt et la vitesse. Ce programme utilisant la fonctionnalité Fulltext de Mysql, une recherche sur des index prends environ 1ms (0,004s sur forum.spip.org) !

Fulltext est compatible avec les versions de Mysql à partir de la 5.0.
Pour l’installer, il faut avoir les droits root.

Installation

  1. Télécharger les sources de Mysql même si celui-ci est déjà installé sur votre serveur. Prenez la version correspondante à celle installée actuellement.
  2. Extraire les sources dans un repertoire temporaire (par exemple /opt) :
    tar -zxjf mysql-5.1.40.tar.gz
    cd mysql-5.1.40
  3. Faire un ./configure des sources :
    ./configure
  4. Télécharger le fichier source de myisam_suggest, en pièce jointe de cet article.
  5. Placer le fichier téléchargé dans le répertoire :
  • storage/myisam pour la version 5.1 :
    cp myisam_suggest.c storage/myisam/
  • myisam/ pour la version 5.0 :
    cp myisam_suggest.c myisam/
  1. Placez vous dans le répertoire où vous avez précédemment copié le fichier :
    cd storage/myisam/

    ou

    cd myisam/
  2. Compilez le programme :
    gcc -DMAP_TO_USE_RAID -I. -I. -I../../include -I../../include -I../../include    -DDBUG_OFF  -DDBUG_OFF -O -MT mi_dbug.o -MD -MP -MF ".deps/myisam_ftdump.Tpo" -c -o myisam_suggest.o myisam_suggest.c
    gcc -DDBUG_OFF -DDBUG_OFF -O -rdynamic -o myisam_suggest myisam_suggest.o libmyisam.a ../../mysys/libmysys.a ../../dbug/libdbug.a ../../strings/libmystrings.a -lz -lpthread -lcrypt -lnsl -lm -lpthread

    pour mysql 5.1

    gcc -DMAP_TO_USE_RAID -I. -I. -I../include -I../include -I../include    -DDBUG_OFF  -DDBUG_OFF -O -MT mi_dbug.o -MD -MP -MF ".deps/myisam_ftdump.Tpo" -c -o myisam_suggest.o myisam_suggest.c
    gcc -DDBUG_OFF -DDBUG_OFF -O -rdynamic -o myisam_suggest myisam_suggest.o libmyisam.a ../mysys/libmysys.a ../dbug/libdbug.a ../strings/libmystrings.a -lz -lpthread -lcrypt -lnsl -lm -lpthread

    pour mysql 5.0

  3. Copier le fichier qui en résulte dans /bin/
    cp myisam_suggest /bin/

Voilà, le programme est installé.
Je vous conseille fortement de lire la documentation sur Fulltext si vous ne l’avez pas déjà fait :

Vous pouvez passer à l’étape suivante !

Discussion

3 discussions

  • 8

    Bonjour,

    je ne suis pas très calée pour l’installation de fichiers à MySQL via SSH, comme le manuel date un peu pourriez-vous m’aider sur une install dans Gandi Simple Hosting. J’ai bien accès à la console via SSH, mais je n’ai pu trouver exactement le même fichier MySQL 5.5.30 - 1 log (Debian) de Gandi. Du coup j’ose pas trop avancer... Et surtout où placer les fichiers ? Dans un répertoire de FTP ? Dans l’ordi (ce qui sera téléchargé via console) ?

    merci pour les éclaircissements :)

    • L’article précise (juste avant la section « installation ») :

      Pour l’installer, il faut avoir les droits root.

      Cela veut dire qu’il faut avoir les droits complets (administrateur) de la machine (ou du serveur virtuel) ; ce qui n’est pas le cas avec le « simple hosting » (sauf erreur de ma part, c’est un hébergement mutualisé à coût bas et avec des avantages comme l’accès SSH...)

      Ceci dit, il est peut-être possible que la version installée par Gandi ait déjà FullText compilé et activé (je pense que le phpMyAdmin mis à disposition doit pouvoir le dire mais je ne sais pas exactement où/comment on trouve l’info... Sinon, avec le client local du serveur, via SSH, on doit pouvoir tester cela aussi...)

    • C’est super de m’avoir répondu aussi rapidement :) Merci. Je vais tester de mon côté et demander au service Gandi. Si j’obtiens des réponses je reviendrai les poster ici, ça peut être utile à tout le monde.

    • Gandi possède bien Fulltext, mais enlevez-moi d’un doute Myiam_suggest est le moteur Fulltext ou encore un fichier à installer ?

    • La fonctionnalité « Full Text index » est bien présente dans MySQL depuis longtemps... mais elle n’était pas activée par défaut. Gandi confirme qu’elle est active sur leur installation  :-)

      Cet article indique comment installer le patch (donc il faut re-compiler les fichiers sources) pour les versions 5.0 et 5.1 afin de pouvoir utiliser le plugin nommé « MyISAM_suggest » : oui, c’est bien un fichier à installer, puis une compilation à faire (d’où il faut avoir le droit sur le serveur et savoir faire —réservé donc aux utilisateurs aguéris) Cela permet de faire fonctionner le plugin du même nom (mais cela suppose d’ailleurs d’utiliser SPIP 2.0 tout au plus...)

    • Grosso modo c’est mal barré mon affaire... A voir si je peux faire un système à la main via ajax et sans soumission avec la touche « enter » du clavier. Merci pour le temps consacré en tout cas.

    • Suggestion ou pas, on a quand même besoin de valider... Sinon pour le besoin, il faut regarder du côté de : Sélecteur générique avec autocomplétion (il y a en fait un autre article auquel je pense mais je ne sais plus où je l’avais vu...)

    • Je viens de trouver cela qui pourrait bien m’aider :)
      http://contrib.spip.net/Realiser-un-champ-de-formulaire-avec-autocompletion

    • C’est l’article auquel je pensais : ça indique comment faire en utilisant les possibilités de SPIP et sans avoir besoin de bidouiller les programmes de son hébergeur (il faut par contre bidouiller nos propres squelettes et triturer un peu nos neurones)  ;-)

    Répondre à ce message

  • Pour infos :

    J’ai du installer libncurses5 avant :

    apt-get install libncurses5-dev

    Puis faire un make juste après le ./configure

    Répondre à ce message

  • Bonjour,

    Je suis intéressée par cette fonctionnalité mais le lien vers le fichier source n’est plus valide.

    Donc si vous l’avez encore dans vos archives ou si vous connaissez un autre lien, je suis preneuse.

    Merci par avance

    Julie

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom