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

FullTextSession fullTextSession = Search.getFullTextSession(session);
Transaction tx = fullTextSession.beginTransaction();
for (Customer customer : customers) {
    fullTextSession.purge( Customer.class, customer.getId() );
}
tx.commit(); //index is updated at commit time
Copy to Clipboard Toggle word wrap
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

FullTextSession fullTextSession = Search.getFullTextSession(session);
Transaction tx = fullTextSession.beginTransaction();
fullTextSession.purgeAll( Customer.class );
//optionally optimize the index
//fullTextSession.getSearchFactory().optimize( Customer.class );
tx.commit(); //index changes are applied at commit time
Copy to Clipboard Toggle word wrap
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.
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat