I had this exact same problem in a j2ee + windows environment. Even when the index searcher was closed, it still seemed to hold onto the file. As I recall I solved this by only caching the IndexSearcher long enough to get the results I wanted to display. If the user would look at the next page of results the query would be run again. This didn't affect performance.
Aaron Loucks Web Developer Gardner, Inc. 3641 Interchange Road Columbus, OH 43204 614.456.3492 -----Original Message----- From: Monsur Hossain [mailto:[EMAIL PROTECTED] Sent: Thursday, April 28, 2005 6:11 PM To: lucene-user@jakarta.apache.org Subject: IndexSearcher hanging on to old index files in Windows Hi all. I'm running Lucene.NET in a Windows/ASP.NET environment. We are searching a 300meg index in a web environment, where the IndexSearcher is cached. Every 10-30 minutes, a separate process updates the index. When ASP.NET's cache detects a changed index, it drops the current IndexSearcher (which the Garbage collector takes care of in the future [1]) and creates a new one. Now, while the index is being updated, the current IndexSearcher in cache holds a reference to the old index files. Therefore, the IndexWriter can't delete them, and they sit around in the folder, continuing to grow. Since the IndexSearcher is left to the GC, there's no guarantee of when the files will be released. I was considering such previously mentioned systems as reference counting [2] and swapping between two indexes [3]. But in both these cases, I don't think I'm ever guaranteed that an old IndexSearcher will have released its grasp on the old files in time to delete them. Anyway, I'd like to hear if others are dealing with this issue. Also, I'm curious, is this a Windows specific issue; I haven't seen any mention of this on UNIX? Thanks, Monsur [1] http://tinyurl.com/8qzo4 [2] http://tinyurl.com/8enzh [3] I can't find a link to it, but it was suggested by George Aroush in a previous thread of mine. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]