Cherchait à amener les gens à réfléchir à la mise à jour d'un index Lucene à mesure que des modifications sont apportées aux objets du modèle de domaine d'une application.Stratégies pour maintenir un index Lucene à jour avec les modifications du modèle de domaine
L'application en question est une application Web basée sur Java/J2EE qui utilise Hibernate. La façon dont je travaille actuellement est que les objets modèles mappés Hibernate implémentent tous une interface "indexable" commune qui peut renvoyer un ensemble de paires clé/valeur enregistrées dans Lucene. Chaque fois qu'une opération CRUD est exécutée impliquant un tel objet je l'envoie via une file d'attente JMS dans un bean géré par message qui enregistre dans Lucene la clé primaire de l'objet et les paires clé/valeur renvoyées par la méthode index() de l'objet Indexable à condition de. Mes principales inquiétudes à propos de ce schéma sont si le MDB est derrière et ne peut pas suivre les opérations d'indexation qui arrivent ou si une sorte d'erreur/exception empêche un objet d'être indexé. Le résultat est un index obsolète pour un tri ou une longue période de temps. Fondamentalement, je me demandais simplement quel type de stratégies d'autres avaient mis au point pour ce genre de chose. Pas nécessairement à la recherche d'une réponse correcte, mais j'imagine une liste d'idées «tableau blanc» pour que mon cerveau pense à des alternatives.