[Lucene] Supprimer un document avec deleteDocument
Je commence une appli utilisant l'API de référencement de documents lucenne.
Si j'arrive bien à référencer mes documents et à faire des recherches, je n'arrive pas à supprimer les documents (je cherche à m'orienter vers une mise à jour des documents dont la date d'enregistrement a été modifiée).
Si quelqu'un peut me donner un petit coup de main...
merci
voici mon code qui provoque une exception :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
/** Suppression d'un document à partir de son numéro
*
*/
private static void supprimeDocumentParNumero(int numeroDocument){
String index = "index"; // nom de l'index (répertoire de stockage)
try {
IndexReader indexReader = IndexReader.open(index);
indexReader.deleteDocument(numeroDocument);
} catch (CorruptIndexException e) {
e.printStackTrace();
} catch (StaleReaderException e) {
e.printStackTrace();
} catch (LockObtainFailedException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} |
conflit de classes avec Eclipse
J'ai trouvé la cause :
j'utilise Eclipse 3.2.2, lequel utilise pour son fonctionnement lucene 1.4.3.
Or, dans mon projet, j'ai référencé le jar de lucene 2.2.0.
L'exception provoquée par la méthode deleteDocument(id) est la manifestation d'un conflit des classes lucene des 2 versions.
Donc attention pour ceux, qui comme moi souhaitent utiliser l'API lucene avec Eclipse...