SPIP : comprenez la recherche, aidez la recherche !
L’atout principal du moteur de recherche de spip, c’est qu’il fouille les données et non les squelettes. En ce sens, la recherche ne porte que sur le contenu de votre site et n’est pas perturbé par le contenant comme peut l’être un moteur externe.
Le moteur de recherche de spip est déjà très documenté et c’est donc une compilation des articles déjà faits ailleurs que je vous propose de trouver ici.
La documentation officielle du moteur de recherche de spip
- Le moteur de recherche, où l’on lit les modalités de l’indexation du moteur avec les pages clefs suivantes.
- ecrire/inc_index.php3 où sont définies les valeurs d’indexation en point des champs des documents (article, breve, forum etc.)
- ecrire/data/spip.log qui montre les données de l’indexation
- ecrire/admin_index.php3 qui permet de visualiser ce qui est indexé et de le « forcer » par lot de 20. (le forcer ? vraiment ?) Les modalités de la qualité de cette recherche : rapide, booléenne avec un OU logique privilégiant les résultats qui ont les deux mots associés par rapport aux autres.
- Comment fonctionne le moteur de recherche de spip. C’est une faq technique où sont indiqués les pondérations par défaut, la taille minimum du mot recherché (quatre lettres mais en fait trois.) et les modalités de calcul des points car c’est une recherche par point et non avec des ET/OU.
- Les boucles de recherche, où l’on apprend comment construire sa page de résultats pour afficher les scores sur les brèves, les articles, les rubriques, les sites web référencés etc. Pour un exemple concret il faut ouvrir dans votre éditeur de texte le squelette fournit avec spip : recherche-dist.html
Les fonctionnalités ajoutés du moteur de recherche de spip
- Aidez la recherche : Il est possible d’affiner la recherche en utilisant des mots clefs rattachés aux articles puis en ajoutant dans la boucle des résultats quelque chose comme : {id_mot==^[\w38\w1]$} pour obtenir une recherche où les mots clefs 1 et 38 soient présents absolument. Cela nécessite de bien renseigner ses articles mais cela permet également de pallier au manque de l’opérateur « ET » sur ce moteur. source
- Faites le parler : Tenir la liste des requêtes faites à votre moteur de recherche vous permet ensuite d’essayer d’améliorer la pertinence par le choix de mots clefs sur des articles que vous aurez sélectionnés. Vous pouvez ensuite conserver ces mots ou vous les faire envoyer par mail ou tenir des statistiques pour plus tard
- Du vrai, du beau, le meilleur du moteur ! : Au final, c’est bien souvent l’aspect des résultats qui donnera l’impression qu’un moteur de recherche est puissant ou non. Deux contributions vous permettent d’améliorer la présentation finale : Super moteur de recherche et Présenter les résultats de recherche comme un « vrai » moteur. Vous avez un forum en spip et avez besoin d’en fouiller les archives ? Utilisez ce qui a déjà été fait par l’équipe de spip-contrib, limiter le résultat à une langue ? C’est possible. A spip, rien d’impossible. ;-)
- La cerise sur le moteur de recherche : non content d’avoir désormais le plus beau, le meilleur, le plus efficace des moteurs vous pouvez désormais colorier les résultats ou corriger les derniers soucis comme l’angoisse de la page blanche ou l’apparition d’un bouton « ok » d’une manière ou d’une autre.
Voilà, j’espère que désormais cet article vous aidera à avoir une vue plus synthétique du moteur de recherche de spip et vous permettra de résoudre vos problèmes.



Vos commentaires
# Le 29 novembre 2010 à 16:55, par U SU
En réponse à : Moteur de recherche - tutorial
Bonjour,
je decouvre Spip depuis quelques jours et je me demande si on a deux bases reliées à Spip ; comment peut-on demander au moteur de recherche d’effectuer sa recherche uniquement sur une base precise ?
Merci d’avance
# Le 29 novembre 2010 à 16:59, par Maïeul
En réponse à : Moteur de recherche - tutorial
le moteur de recherche recherche en fonction des boucles utilisés dans ton squelettes de ton résultat.
si ton squelette de résultat n’a une boucle avec le critère recherche que sur une base, alors le moteur de recherche ne cherche que sur une base. Donc par défaut, le moteur de recherche ne recherche que sur une base.
Voir ici sur le moteur de recherche http://www.spip.net/fr_article903.html
et sur le multi base en SPIP http://programmer.spip.org/-Acceder-a-plusieurs-bases-de-
# Le 29 novembre 2010 à 17:25, par U SU
En réponse à : Moteur de recherche - tutorial
Salut Maîeul,
merci pour ton explication je comprend un peu mieux là. quelle serait la syntaxe pour lui preciser une autre base ? car j’ai ma base bibli de PMB que j’ai relier à Spip mais sur mon squellete de resultat je trouve pas la bonne syntaxe pour une recherche sur bibli.
merci pour les liens je les epluche pour trouver une solution à mon probleme et essayer de mieux comprendre SPIP.
# Le 29 novembre 2010 à 22:26, par Maïeul
En réponse à : Moteur de recherche - tutorial
je pense qu’avec ca tu a tout pour faire.
si tu a compris sur programmer comment accéder à une base externe, alors tu est bon. Il suffit juste de rajouter le critère recherche sur une boucle sur base externe. Après, il faut bien sûr que tu ait compris le principe des boucles.
Hésite pas à reposter si jamais tu bloque
Répondre à ce message
# Le 23 janvier 2006 à 16:44, par sophie
En réponse à : Moteur de recherche
Bonjour,
J’ai installé le moteur de recherche sur un site
mais je souhaite empécher la recherche dans certaines rubriques,
est-ce possible ?
D’avance Merci !
Sophie
# Le 22 février 2006 à 10:59, par Francoisl
En réponse à : Moteur de recherche
Bonjour,
j’ai réussi à faire cela dans la page de résultat ou par exemple dans la boucle de résultat pour les articles j’ai ajouté :
id_rubrique !==^(1|3|4|5|6)$
les chiffres étant les numéros de rubriques bien sur.
# Le 22 février 2006 à 11:00, par Francoisl
En réponse à : Moteur de recherche
Bonjour,
j’ai réussi à faire cela dans la page de résultat ou par exemple dans la boucle de résultat pour les articles j’ai ajouté :
id_rubrique !==^(1|3|4|5|6)$ (entre accolades bien sur)
les chiffres étant les numéros de rubriques bien sur.
Répondre à ce message
# Le 9 septembre 2005 à 12:19, par Christophe LHARDY
En réponse à : > Moteur de recherche
Nous avons un site qui contient environ 2000 articles, aujourd’hui, une requete avec le moteur de recherche renvoie en moyenne 50 réponses.
Est ce qu’il est possible d’ajouter un critère pour affiner la recherche, comme par exemple limiter la recherche en sélectionnant une rubrique ou sous rubrique ?
J’ai cherché comment réaliser cela mais à part en écrivant directement des requetes SQL, je ne vois pas commet y parvenir, quelqu’un aurait il déjà réfléchi à la question ?
Répondre à ce message
# Le 17 novembre 2004 à 11:28, par Stéven
En réponse à : > Pas mal de liens morts...
Merci pour cette compilation, mais il semble que pas mal de liens présents ici ne fonctionnent plus... Dommage ;)
Sans rancune !
# Le 21 décembre 2004 à 17:57, par ?
En réponse à : > Pas mal de liens morts...
Ben oui...ils fonctionnaient lors de la rédaction mais plus lors de la publication : essentiellement ceux de japanim qui avait quelques contributions (corbeille, sauvegarde automatique etc.) très intéressantes. Dommage.
Répondre à ce message
# Le 22 novembre 2004 à 17:23, par ?
En réponse à : > La liste des requêtes du moteur de recherche interne SPIP est disponible en standard dans les stats de SPIP
Il n’est pas nécessaire de modifier le code SPIP pour obtenir la liste des requêtes faites au moteur de recherche SPIP. SPIP enregistre déjà cette information (pour peu que l’option de comptage des referers est activée dans SPIP)
En effet, la page « Evolution des statistiques » de SPIP donne la liste des mots clefs utilisés par les différents moteurs de recherche inclus ceux du moteur de recherche interne de SPIP.
Par exemple, pour mon site marieficelle.be, SPIP donne pour les recherches via le moteur SPIP la liste suivante :
82 visites : www.marieficelle.be (11)« mantaux » (13)
« armoires » (7)
« lanternes » (6)
« jeux » (5)
« enfants » (5)
« marge » (4)
« parler » (4)
.....
Par défaut, SPIP affiche les 100 premiers referers. Pour en voir plus il suffit de clicker sur les « + + + » en bas de la liste ou simplement ajouter l’argument limit :
http://www.marieficelle.be/ecrire/statistiques_visites.php3?limit=10000
En fait SPIP garde les informations sur (tous) les referers pour les 30 derniers jours dans la table spip_referers.
Il est également possible de faire une requête directement sur cette table pour obtenir la liste des mots clefs et la date de la recherche en utilisant la requête suivante :
SELECT date,REPLACE (mid( referer, 53,
IF ( locate('&', referer ), locate( '&', referer )-53, length( referer ))), '+', ' ' ) mots
FROM `spip_referers_articles`
WHERE `referer`
LIKE 'http://www.marieficelle.be/%'
ORDER BY mots
LIMIT 0 ,5000
Répondre à ce message