sdx-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sdx-users] Doublons non détectés lors de l'indexation


From: Martin Sevigny
Subject: Re: [sdx-users] Doublons non détectés lors de l'indexation
Date: Wed, 05 Oct 2005 07:03:17 +0200
User-agent: Thunderbird 1.4 (Windows/20050908)

Bonjour,

Si l'envie me prenait de fouiller dans le code pour résoudre le problème, dans quel fichier aurais-je le plus de chance de trouver mon bonheur ?

La méthode SDXDocumentBase.protected synchronized int handleParameters
vérifie si un document existe. Selon les paramètres d'indexation (on
écrase ou pas, etc.), elle effectue différentes opérations.

Par exemple, si on doit écraser les documents avec le même identifiant,
on a le code qui suit ce case:

case IndexParameters.SAME_ID_REPLACE:
default:

On y voit bien que l'ancien document est supprimé.

Il n'y a pas de bogue (connu) dans cet aspect. Ca se saurait ;-)

Le problème, c'est que la vérification de l'existence d'un document avec
le même identifiant se fait dans la base de documents et ses
métadonnées, mais avant l'ajout du lot de documents en cours! Du coup,
SDX ne sait pas si un document précédent dans le même lot avait le même
identifiant... d'où le problème évoqué par Pierre.

Pour régler cela, il y a à mon avis deux stratégies possibles:

- on vérifie dans la base et ses métadonnées (déjà fait) ET dans la
liste des documents du lot... si on en trouve dans les documents du lot,
alors on les "supprime"

- on écrit les métadonnées plus tôt dans le processus, pour que la
méthode actuelle fonctionne... en faisant attention au fait que les
documents du lot sont indexés en mémoire et non dans l'index permanent...

Je ne suis pas certain de la meilleure approche.

Si on voulait garder le premier du lot, la première méthode serait
simple: on conserve les identifiants des documents du lot et on ignore
un document si son identifiant est dans le lot.

Le problème, c'est qu'on veut le dernier, donc il faut supprimer des
choses déjà faites. Et aussi, ne pas oublie qu'on a des documents
attachés, des sous-documents, etc.

Ca fait ton bonheur? ;-)

Martin Sévigny





reply via email to

[Prev in Thread] Current Thread [Next in Thread]