Pourquoi mon index Lucene les enfermer?

J'ai eu un problème avec ma recherche retourne pas les résultats que j'attends.

J'ai essayé d'exécuter Luc sur mon index, mais il a dit qu'il a été verrouillé et j'ai besoin de Forcer le Déverrouiller (je ne suis pas un Jedi/Sith)

J'ai essayé de supprimer le dossier de l'index et de gérer mon de recréer-indicies de l'application, mais le dossier a été verrouillé. À l'aide de unlocker j'ai trouvé qu'il y a environ 100 entrées de w3wp.exe (même PID, différentes Poignée) avec un verrou sur l'index.

Ce qui se passe?

Je fais cela dans mon NHibernate configuration:

c.SetListener(ListenerType.PostUpdate, new FullTextIndexEventListener());
c.SetListener(ListenerType.PostInsert, new FullTextIndexEventListener());
c.SetListener(ListenerType.PostDelete, new FullTextIndexEventListener());

Et ici est le seul endroit où j'ai une requête à l'index:

var fullTextSession = NHibernate.Search.Search.CreateFullTextSession(this.unitOfWork.Session);

var fullTextQuery = fullTextSession.CreateFullTextQuery(query, typeof (Person));
fullTextQuery.SetMaxResults(100);

return fullTextQuery.List<Person>();

Ce qui se passe? Ce que je fais mal?

Grâce

vous ne pouvez pas être un Jedi, mais Luke est

OriginalL'auteur Andrew Bullock | 2010-02-26