[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [sdx-users] Mise à jour de la base de document
From: |
Martin Sevigny |
Subject: |
Re: [sdx-users] Mise à jour de la base de document |
Date: |
Fri, 24 Sep 2004 19:35:03 +0200 |
User-agent: |
Mozilla Thunderbird 0.6 (Windows/20040502) |
Bonjour,
Je suis un débutant (très très) sur sdx... Je développe un projet pour
la bibliothèque nationale du Québec, il s'agit d'un outil de
recherche/exploration sur les romans.
Ah! Je me disais avec un nom pareil ;-) "Join the club" comme disent les
Québécois.
Pour bâtir le squelette de l'application j'utilise xtogen.
Pour infos, il y a une liste d'utilisateurs de XToGen:
http://lists.nongnu.org/mailman/listinfo/xtogen-users
- Si des notices sont ajoutées à la base de document (de nouveaux
romans)... Y'a t-il moyen d'automatiser l'indexation de ces documents ou
doit le faire manuellement par l'interface d'administration?
Il y a toujours moyen d'automatiser, en écrivant un bout de code qui
détecte les modifications et qui lance l'indexation. SDX, et par
extension, XToGen, est d'abord et avant tout une API (et même plusieurs
API), donc c'est possible.
- Si des notices sont mise-à-jour,suite à des modifications, le fichier
XML sera écrasé... Est-ce que SDX ré-indexera ce document? De la même
manière est-ce que SDX détecte qu'un document a déjà été indexé (donc on
ne ré-index pas le document)?
SDX non, pas tout seul. Il faut l'aider. XToGen non plus, à ma
connaissance, mais je laisse la réponse définitive aux experts.
- L'une des fonctionalités de notre application, sera de présenter une
liste des nouveaux romans disponibles. Pour ce faire nous devons nous
baser sur une date représentant la date de création de la notice. Je
voulais procéder en créant un document d'usage pour les notices. Ce
document serait issue d'une transformation XSLT qui ajouterait un
élément contenant la date du jour. Cette tranformation fonctionne bien
pour les nouveaux documents. Pour un document modifié, je ne vois pas
comment je ferais pour ne pas ré-écrasé la date. En fait je voudrais que
si un document d'usage (contenant la date) est disponible pour un
document original (donc c'est un document qui a été modifié), on
récupère certaines valeurs du document d'usage (par exempl: la date)
pour les ré-inséré telle quelle dans la nouvelle version du document
d'usage.... Est- possible? Je ne vois vraiment pas comment faire?
Je ne suis pas certain de bien comprendre l'approche que tu proposes,
mais si l'objectif est de présenter les notices (documents indexés par
SDX) qui ont été modifiées en dernier, tu peux faire une recherche sur
tous les documents, les trier en ordre de date de modification, puis
présenter les derniers.
S'il y a une très grand nombre de notices, ça peut être inefficace, mais
pour des nombres raisonnsables ça ira.
Le champ sdxall contient toujours la valeur "1". Donc une recherche de
la valeur 1 sur ce champ retourne tous les enregistrements.
Le champ sdxmodificationdate contient la date de modification. Donc un
tri DESCendant sur ce champ te présente les plus récents.
- Toujours en relation avec le dernier point, j'ai pensai qu'une autre
façon serait de créer un base OAI pour mes notices. Je sais que SDX
génère lui-même l'élément dc:date des métadonnées.
Euh, je ne suis pas au courant qu'il fait ça...
- D'abord je dois savoir si je comprend (un peu) comment
fonctionne l'OAI... <
- En implémentant, l'OAI pour une base de document, je
créer en fait une deuxième base de documents qui est alimenté par une
autre... Vrai?
Non. Dans SDX, il y a des bases de documents. Pour chacune, on peut, si
on le souhaite, l'alimenter par moisson OAI ou, de manière indépendante,
l'exposer sous la forme d'un entrepôt OAI.
- Cette base OAI, je ne suis pas certain de comprendre
comment l'utiliser... En créant des "harvester" qui permettent certains
verbes, je pourrais donc utilisr un navigateur et entrer
l'url de ma base OAI et d'ajouter les paramètres pour le verbe désiré,
je pourrais donc ainsi intéroger la base OAI?
En fait, du OAI de ton application SDX vers la même application SDX, je
ne suis pas certain que ce soit particulièrement utile.
Quelques références sur l'OAI:
http://www.openarchives.org/OAI/openarchivesprotocol.html (le protocole)
http://www.nongnu.org/sdx/docs/html/others/oai.pdf (OAI et SDX)
- Y'a-til un moyen dans une même application d'afficher
des champs d'un document et des champs provenant du OAI pour ce même
document? (En fait, avec l'id d'un document, puis-je
accèder à l'enregistrement OAI correspondant? Si oui, quelqu'un à un
exemple?)
Il faudrait savoir ce que signifie "correspondant" et où il se trouve.
Mais bon, de manière générale, si tu as un document avec l'identifiant
"toto" dont tu sais que le correspondant dans la base OAI est
"toto_oai", alors oui.
Mais je pense de toutes façons que c'est une mauvaise piste...
- Est-ce que l'indexation OAI détecte les documents modifiés et
les ré-indexe?
Un moissonneur OAI moissonne un entrepôt OAI à des périodes
prédéterminées (CRON) ou à une fréquence prédéterminée. L'entrepôt lui
envoit ce qui est modifié.
C'est à l'entrepôt de le savoir donc...
- Est-ce que ce champ (dc:date) est-écrasé lors d'une
ré-indexation OAI si le document existait déjà mais qu'il a été modifié?
Si un document est réindexé, alors les informations originales sont
perdues, oui.
- Enfin, sur la présentation des résultats... Quelqu'un a-til une idée
sur comment procéder pour trier les résultats sur un champ snas
toutefois afficher ce champ? Par exemple, nos notice comprenne un
élément <titre> et un élément <titre_trie> qui est en fait le titre dont
on a enlever les articles (le, la ,un , etc) au début. Donc on veut donc
afficher le titre mais trier sur une autre valeur.... Est-ce faisable
croyez vous? Est-ce difficilement réalisable? Avec le peu de
connaissances que j'ai sur l'architecture de SDX, j'ai de la difficulté
à évalué la complexité d'une telle réalisation.
C'est pas un problème. Pour cela, il faut un champ défini ainsi:
<sdx:field name="titre_trie" type="unindexed" brief="true"/>
Vous le remplisser pendant l'indexation avec votre titre pour trier, et
vous l'utilisez pour trier, et vous n'avez qu'à ne pas l'afficher.
Il s'agit d'une réponses SDX, pas XToGen.
Je pense que pour progresser il faudrait comprendre une chose: comment
sont stockés les notices des "romans"? Comment sais-tu qu'il y a eu un
ajout? Comment sais-tu qu'il y a eu une modification?
Ce sont des fichiers? Une base de données?
A bientôt,
Martin Sévigny