Je développe une application WPF qui utilise Lucene.Net pour indexer des données à partir de fichiers générés par un processus tiers. C'est un faible volume avec de nouveaux fichiers créés pas plus d'une fois par minute.Plusieurs instances d'application utilisant Lucene.Net
Mon application utilise une instance singleton IndexWriter
créée au démarrage. De même, un IndexSearcher
est également créé au démarrage, mais il est recréé chaque fois qu'un IndexWriter.Commit()
se produit, garantissant que les nouveaux documents apparaîtront dans les résultats de la recherche.
Quoi qu'il en soit, certains utilisateurs doivent exécuter deux instances de l'application, mais le problème est que les documents nouvellement ajoutés n'apparaissent pas lors de la recherche dans la seconde instance. Je suppose que c'est parce que la première instance fait les commits, et il doit y avoir un moyen de dire à la deuxième instance de recréer son IndexSearcher. Une façon serait de signaler cela en utilisant un fichier create/update en conjonction avec un FileSystemWatcher, mais je me demandais d'abord s'il y avait quelque chose dans Lucene.Net que je pourrais utiliser?