[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [sdx-users] sdxworld - projet.dtd
From: |
Pierrick Brihaye |
Subject: |
Re: [sdx-users] sdxworld - projet.dtd |
Date: |
Thu, 16 Jan 2003 15:07:17 +0100 |
User-agent: |
Mozilla/5.0 (Windows; U; Win98; fr-FR; rv:1.0.1) Gecko/20020823 Netscape/7.0 |
Re,
Emmanuel Bégué a écrit:
Si j'ai bien compris, une application sdx2 utilise un
seul fichier de configuration, application.xconf
Oui.
Cependant, on peut ajouter aussi 2 autres fichiers qui, pour moi,
relèvent aussi de la configuration :
- la ou les feuilles d'indexation : indispensable(s) !
- la sitemap (dans le répertoire au dessus) : elle gère la façon dont le
client interagit avec le serveur (mais qui n'agit pas sur le SDX à
prorement parler).
> qui définit les bases de document indexables par cette
application
Mmmh... un base de documents doit en fait être considérée comme une base
d'index (avec un "s"). La seule raison d'être d'une base de documents
est de permettre d'interroger des documents et, le cas échéant, de les
retourner à l'utilisateur.
Pour être clair : une base de documents n'est pas obligée de stocker des
documents (v. plus bas), mais elle est obligée de stocker leurs index
(quoique ça soit un peu plus compliqué que ça). Pour faire encore plus
clair : une base de documents est un annuaire.
et pour chacune:
- le repository
Oui, *mais* on peut reporter le/les repositories au niveau de
l'application, ce qui permet de stocker au même endroit des documents
qui seront indexés différements et donc, qui seront normalement dans des
bases différentes.
(Lucene)
Ou JDBC...
> qui va stocker les index
Non : ce n'est pas le Repository qui stocke les index, mais la base. A
ce jour, seuls des index Lucene sont supportés.
et éventuellement une copie des documents
Oui.
- l'analyser qui est un fichier de paramètres utilisé
par Lucene pour parser les documents (quels mots ignorer,
etc.)
Oui.
- les champs (fields) à traiter et à indexer (ou à ne
pas indexer)
Oui. Personellement, je préfère appeler ces "champs" des "index". Si
l'on considère Lucene comme une DB, le terme "champ" est approprié. Si
l'on considère Lucene comme une sous-couche SDX, appelons-les "index" :-)
- la feuille de style XSLT qui transforme les documents
bruts à indexer en documents indexables.
Elle fait d'autres choses :
- elle affecte l'id au document (indispensable !)
- elle peut affecter des documents attachés
Confirmez-vous ce qui précède?
Dans les grandes lignes, c'était ça :-) Il est important de distinguer
l'aspect stockage/référencement des documents (du ressort des
repositories) et l'aspect indexation des dits documents (du ressort de
la base). Je reconnais qu'il peut y avoir une confusion à cause du fait
que Lucene peut être utilisé 2 fois en même temps :
- pour stocker les index
- pour stocker les métadonnées système des documents
Ce que je ne comprends pas encore très bien, c'est le
rôle de "projet.dtd": les documents de sdxworld dépendent
de cette dtd AVANT transformation (ligne d'ailleurs commentée);
Oui : ça permet une ultime vérification sur le formalisme du document
(et, a fortiori, de vérifier qu'on a du XML bien formé, bien encodé... ;-)
on doit sans doute en déduire que projet.dtd est spécifique
à sdxworld
> (et même plus précisément à sdx:documentBase id="xml")
Que oui ! Personnellement, j'aurais préférer appeler cette base
"projets" (on en a discuté dans [sdx-developpers]). Pour moi, ça prête à
confusion : on n'a l'impression que la base "xml" va savoir stocker tout
document XML et que la base "html" ne saura stocker que du HTML.
et n'a pas spécialement de raison d'être dans une autre
application sdx?
Aucune :-)
Ce que je ne comprends pas non plus, c'est comment sdx
sait de quelle base de document relève tel document au
moment de son indexation
Premier point : quand on "charge" un document dans SDX (via l'action
<sdx:uploadDocument>), on fait 2 choses :
- on charge physiquement le document dans un repository. Variante, on
référence le document (dans le cas d'utilisation d'un URLRepository).
- on indexe le document dans la base
Ensuite, l'action <sdx:uploadDocument> prend plusieurs arguments, parmi
lesquels :
base (ou sa variante baseParam...)
repo (idem : voir le topo sur le passage de paramètres ; celui dans la
section sur le multilinguisme est très pédagogique)
Si ces arguments ne sont pas spécifiés, ce sont les valeurs par défaut
qui sont assumées. L'attribut "default" du fichier de configuration
prend donc tout son sens ;-)
A bientôt,
--
Pierrick Brihaye, informaticien
Service régional de l'Inventaire
DRAC Bretagne
mailto:address@hidden