13.4.2. Supprimer des instances d'un index
Il est possible de supprimer une entité ou toutes les entités d'un type donné à partir d'un index Lucene sans avoir besoin de les supprimer de la base de données. Cette opération s'intitule nettoyage et peut être effectuée à travers
FullTextSession.
Exemple 13.57. Nettoyage d'une instance spécifique d'une entité à partir de l'index
Le nettoyage supprimera l'entité avec l'ID donnée à partir de l'index Lucene mais ne touchera pas à la base de données.
Si vous souhaitez supprimer toutes les entités d'un type donné, vous pouvez utiliser la méthode
purgeAll. Cette opération supprime toutes les entités du type transmis comme paramètre ainsi que tous ses sous-types.
Exemple 13.58. Nettoyage de toutes les instances spécifiques d'une entité à partir de l'index
Il est recommandé d'optimiser l'index après une telle opération.
Note
Les méthodes
index, purge et purgeAll sont également disponibles sur FullTextEntityManager.
Note
Toutes les méthodes d'indexation manuelles (
index, purge et purgeAll) affectent uniquement l'index, pas la base de données. Elles sont cependant transactionnelles et ne seront donc appliquées qu'une fois la transaction validée ou si vous utilisez la méthode flushToIndexes.