[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[sdx-developers] documentbase
From: |
Pierrick Brihaye |
Subject: |
[sdx-developers] documentbase |
Date: |
Sat, 8 Jun 2002 14:54:58 +0200 |
Salut,
J'ai pas mal travaillé sur ce package. Aucune modification dans le code, mais
pas mal d'ajout/correction de commentaires et quelques TODO. Mais bon, j'hésite
à faire un commit :-)
Le plus gros problème qui se pose pour moi - en tant que développeur ! -, c'est
la terminologie employée. Entre celle héritée de Lucene et celle, plus
traditionnelle, issue des "bases (de documents)", on s'emmèle parfois les
pinceaux !
Je prends un exemple : l'interface Repository propose "add/delete", ce qui me
paraît logique dans la mesure où un Repository s'occupe d'ajouter et détruire
*physiquement* un document.
DocumentBase propose "index/delete". Ici, de deux choses l'une :
- ou on postule que c'est la même terminologie qu'un repository, une
DocumentBase ayant comme mission
*supplémentaire* de faire de l'indexation avant de déléger les manipulations
physiques aux Repositorys. Dans ce ce cas, "index" pourrait être remplacé par
"add".
- ou l'on postule que l'indexation est la mission première d'une DocumentBase
et, dans ce cas, pourquoi ne pas utiliser "deindex" ou "unIndex" en lieu et
place de "delete" ?
Par ailleurs. La DocumentBase travaille sur 3 choses :
- communication avec les Repositorys. Normal.
- indexation pour la recherche : sdxLuceneSearchDir, sdxSearchIndexDir, lIndex,
SEARCH_INDEX_DIRECTORY_NAME. Ici, on pourrait peut-être harmoniser sur la base
de "SearchIndex", non ?
- indexation pour un stockage des références (que je préfèrerais appeler
"métadonnées" ; je pense que j'en reparlerai) : sdxRepoIndexDir,
sdxRepoIndexDB, DOCUMENTBASE_DIR_PATH. Ici aussi on pourrait harmoniser, mais
sur une base à mon avis plus parlante : "ReferencesIndex" ou "MetadataIndex".
A ce propos, dans l'appli sdxworld, j'ai :
sdx
- sdxworld
-- conf
--- dbs
---- apps
----- documents
------_lucene
------- doc
----- sdx-repo-index
----- sdx-search-index
--- users
-- css
-- documents
-- xsl
J'avoue que j'ai du mal à suivre :
- voir "apps" sous "dbs" : si "dbs" s'appelait "repository" ou "repository1" ou
"FirstRepository", ça serait plus clair car, logiquement, c'est un "app" qui
contient des "dbs" et pas l'inverse, non ? Je sais bien, que tout ça, c'est de
la String et qu'on pourrait avoir "klmklmklmk" mais quand même, ça jure dans
une appli d'exemple !
- qu'est ce que c'est que ce répertoire "doc" ? Il contient des index Luicene
mais lesquels ?
Pour continuer sur "DocumentBase", je crois qu'il y a un défaut potentiel dans
l'implémentation. En effet, quand on ajoute (indexe ;-) un document :
1) On écrit l'index de recherche
2 On écrit le document dans le repository
3) On écrit sa référence
Je pense que dans cette section où tout rollback est difficile à implémenter,
il serait préférable de passer en premier les actions ayant le plus de gravité
en cas d'exception :
1) Ecrire le document dans le repository
2) Ecrire sa référence
3) Ecrire l'index de recherche
En effet, en cas de problème, on peut toujours recréer un index de recherche
et, éventuellement et après un scan des documents dans les repositorys, recréer
une référence, l'inverse n'étant pas vrai.
Raisonnement strictement inverse pour "delete", quoi que dans ce cas, on peut
discuter. Actuellement, on a :
1) Destruction dans le repository
2) Destruction de la référence
3) Destruction de l'index de recherche
On pourrait avoir, toujours dans la même perspective où l'on disposerait de
tâches de réparation de l'intégrité :
1) Destruction de l'index de recherche
2) Destruction de la référence
3) Destruction du document dans le repository
Voilà pour l'instant. Je me propose de mettre en oeuvre ce que je viens
d'écrire. Cependant, je ne compte pas dans un premier temps aller trop loin de
façon à pas toucher au nom des éléments/attributs dans les fichiers de
configuration et ainsi obliger à un repackaging des applis.
Pierrick Brihaye
mailto:address@hidden
- [sdx-developers] documentbase,
Pierrick Brihaye <=
- RE : [sdx-developers] documentbase, Martin Sévigny, 2002/06/10
- Re: RE : [sdx-developers] documentbase, Pierrick Brihaye, 2002/06/10
- [sdx-developers] RE : documentbase, Martin Sévigny, 2002/06/10
- Re: [sdx-developers] RE : documentbase, Pierrick Brihaye, 2002/06/10
- Re: [sdx-developers] RE : documentbase, Pierrick Brihaye, 2002/06/10
- RE : [sdx-developers] RE : documentbase, Martin Sévigny, 2002/06/11
- Re: RE : [sdx-developers] RE : documentbase, Pierrick Brihaye, 2002/06/11
- RE : RE : [sdx-developers] RE : documentbase, Martin Sévigny, 2002/06/11
Re: [sdx-developers] documentbase, Frédéric Glorieux, 2002/06/11