It depends on your definition of "clean" but Emmanuel is correct. When I worked with highly dynamic data (meaning many segments over a short period of time ) the IW would do a segment merge whenever the merge threshold was reached. The Lucene document numbers would obviously change and If there were documents marked as deleted, those segments would be removed but there was no optimization performed just a merge.

Hope this helps.

JohnG

2009/9/23 Emmanuel Bernard <emmanuel@hibernate.org>

On 23 sept. 09, at 14:58, Łukasz Moreń wrote:

> Is it because, the IndexWriter only clean files if no indexReaders
> are reading them (how would that be detected)?
> It can happen if IndexWriter clean file, and IndexReader try to
> access that cleaned file.

IndexWriter doe snot clean files AFAIK (unless you optimize I think
but that's another story).
_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev



--
John Griffin
Senior Software Engineer
Overstock.com

http://thediningphilosopher.blogspot.com/
Hibernate Search in Action (http://www.manning.com/bernard/)
__________________________________
Refactoring is NOT a substitute for design.