Table des matières
Page obsolète
Fichier searchlog-filter.xml : filtrer l'origine de la recherche
Le serveur Scrutari enregistre les recherches effectuées par les internautes dans des journaux mensuels. Le contenu de ces journaux est décrit plus précisement dans la page sur le format XML d'un journal de recherche mensuel. Un journal enregistre la séquence de recherche demandée mais aussi l'adresse IP, le site d'origine ou la page référente (Referrer), ces informations étant collectées par le client Scrutari et étant transmises au serveur en même temps que la requête. Il enregistre également le nombre de fiches répondant aux critères de la recherche.
Les informations contenues dans les journaux sont précieuses pour suivre l'évolution de l'usage du serveur Scrutari. Il peut donc se révéler particulièrement utiles de ne conserver dans les journaux que les recherches qui semblent pertinentes, par exemple en excluant les recherches que l'on effectue soi-même ou celles effectuées par des robots. C'est ce que permet le fichier de configuration searchlog-filter.xml : définir les recherches qui ne seront pas conservées par le serveur Scrutari.
Structure du format XML
L'élément racine est l'élément <searchlog-filter>. Il ne possède pas d'attributs et contient en nombre illimité un seul type d'élément : l'élément <deny>. Cet élément <deny> peut posséder trois attributs :
- @ip : définit une condition sur l'adresse IP
- @site : définit une condition sur le site d'origine
- @ref : définit une condition sur la page réferrente
La condition doit s'entendre de la manière suivante : toute recherche qui répond à la condition n'est pas conservée. Au moins un de ces attributs doit être présent, la présence de plusieurs de ces attributs est possible, cela correspond à une relation ET (pour ne pas être conservée, une requête doit répondre à la fois aux deux ou trois conditions précisées).
Le nombre d'éléments <deny> est illimité : une recherche ne devra répondre à aucune des conditions ainsi définies pour être conservées (On peut donc parler d'une relation OU entre les différents éléments <deny>).
Pour les différentes conditions :
- l'astérisque « * » placé en début ou en fin entraine une troncature : par exemple, 192.168.* va permettre d'exclure tout adresse du réseau local
- le point d'exclamation « ! » placé en début (avant tout astérisque) inverse la condition (NE PAS) : par exemple, site=“!monsite” exclut tout les recherches non effectuées à partir de monsite
- l'astérisque seul indique une condition sur une valeur quelconque non nulle
- le point d'exclamation suivi de l'astérisque « !* » est une condition sur une valeur nulle
Exemple
L'exemple suivant est celui de la Coredem en juiN 2009
<searchlog-filter> <deny ip="62.160.23.122"/> <deny ip="66.249.71.147"/> <deny site="coredem_ui"/> <deny site="!*" ref="!*"/> </searchlog-filter>
Les deux premières conditions portent sur des adresses IP (la première étant celle de la FPH, la seconde celle d'un robot de Google identifié pour passer régulièrement sur le site).
La troisième condition porte sur la valeur de site « coredem_ui », cette valeur n'est (normalement) utilisée que dans l'interface du client Scrutari de la Coredem lorsque l'internaute demande la même recherche en changeant de langue d'interface. Comme la recherche est identique à la recherche initiale, il n'est pas utile de la conserver.
La quatrième condition porte sur l'absence à la fois de l'information sur le site et de l'information sur la page réferente : si ces deux informations sont absentes, cela signifie très probablement que la requête a été effectuée par un robot.
DTD
<!ELEMENT searchlog-filter (deny*)> <!ELEMENT deny EMPTY> <!ATTLIST deny ip CDATA #IMPLIED site CDATA #IMPLIED ref CDATA #IMPLIED >