Informations sur le moteur de recherche

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Ce module à ajouter à l’interface privée permet d’obtenir quelques informations sur l’indexation des articles par le moteur de recherche interne de SPIP.

Ayant récemment activé le moteur de recherche interne SPIP sur le site de mon association, j’ai été amené à me poser quelques questions sur son fonctionnement.
Piqué au jeu, et pour m’essayer à la programmation "spipienne", j’ai commencé ce module pour afficher quelques informations sur l’indexation des articles.

Plutôt que de le garder pour moi tout seul, autant le partager.
C’est un premier jet. Sans doute un peu trop brut pour être diffusable.
Mais vos réactions m’intéressent, sur le fond, la forme...

Si c’est inutile ou trop inexpérimenté, je le "remettrai dans ma guitare"...

Installation :

  1. Décompacter l’archive : php3 ou php selon votre configuration [1]
  2. Modifier si nécessaire le paramétrage (cf paragraphe « Paramétrage » plus bas)
  3. Dépôt du fichier « moteurinfos.php » dans le répertoire « ecrire »
  4. Dépôt du fichier « moteurinfos_fr.php » dans le répertoire « ecrire/lang »

Paramétrage :

Le seul paramétrage est l’accès ou non par les rédacteurs à la fonction de recalcul de l’index pour un article.
Par défaut, seul l’administrateur du site peut le faire.
Cela est déterminé par la valeur de la variable « $reidxredac » en début du module.

// ########################### parametrage debut ###########################
// Reindexation autorisee a tout le monde
// 1 : oui
// 0 : non (administrateur spip seulement)
$reidxredac=0;
// ########################### parametrage fin #############################

Accès :

L’accès au module se fait à l’adresse :

www.mon.site/ecrire/moteurinfos.php

Ensuite, suivez les liens !

Quelques fonctionnalités :

Ce module n’explore que l’indexation des articles.

  • Indexation globale du site :
    • Recherche des articles sans aucun mot indexé,
    • Recherches des articles non publiés mais indexés (?),
    • Quelques chiffres : nombre d’articles indexés, nombre de mots, nombre de lignes dans la table d’indexation (couples mots/article)
  • Pour un article :
    • Liste et nombre des mots indexés pour un article,
    • Demande et réindexation d’un article,
  • Lien vers le module "admin_index.php" pour réindexations complètes (module cité dans les commentaires de l’article Comment forcer la réindexation d’un site).

Quelques explications :

Je ne fais pas une explication doctorale sur le moteur de recherche. J’en suis incapable. Mes connaissances étant limitées à quelques observations.
Et puis il est possible de se référer aux articles Le moteur de recherche et Comment fonctionne le moteur de recherche de SPIP ? de la documentation officiel de SPIP, ainsi que les articles Moteur de recherche et Comment forcer la réindexation d’un site de SPIP-CONTRIB.

Juste quelques précisions de ce qu’il y a « sous le capot ».

La table principalement explorées est « spip_index_articles ». C’est l’index proprement dit : liens entre mots et articles avec scores associés.
En jointure avec la table « spip_index_dico » pour avoir les mots en clair plutôt que « hashés » et avec la table « spip_articles » pour les tîtres.

La réindexation de l’article est déclenchée par l’appel à la fonction « indexer_article » du module « inc_index.php » du noyau SPIP. Elle change la valeur du champ "idx" dans la table « spip_articles ». La suite est "toutautomatic".

Voilà dans les grandes lignes.
Vous trouverez d’autres précisions sur les écrans eux-mêmes pour qu’ils soient plus facilement et plus directement lisibles.

Bonne exploration.

Notes

[1Dans cet article, dans les exemples, j’utilise « php » par habitude, pensez à “traduire” en « php3 » si c’est votre cas

Dernière modification de cette page le 29 janvier 2007

Discussion

3 discussions

  • 2

    Merci pour cette contrib qui m’ a en effet permis de vérifier où en était l’indextion des articles et autres et de découvrir quels mots étaient indexés et leurs points.

    Suggestion, quand un lien renvoie zéro résultat (dans mon cas par exemple « Articles avec indexation en cours », pourrait-on afficher « Il n’y a pas de réultats » (ou similaire) plutôt qu’une page blanche ?

    Répondre à ce message

  • 1

    contribution tres pratique, merci.
    il y a une petite erreur dans l’URLs des raccourcis de la version php : moteur_infos.php au lieu de moteurinfos.php.
    Peut-être écrire les liens simplemenent sous la forme ? <a href=\"?sel=nonpub\">

    Répondre à ce message

  • 1

    premiere contrib, simple et efficace ; adoptée !
    Merci.
    rom
    (peut-être pourrais-tu corriger dans moteurinfos.php3 les quelques « moteur_infos » qui subsistent au lieu de « moteurinfos » ?)

    • Merci pour les compliments.
      Et pour me signaler ce problème de lien. Il y a eu du renommage de dernière minute (pour l’internationalisation) et des tests insuffisants.
      C’est corrigé en v04.

    Répondre à ce message

Ajouter un commentaire

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