If I try to add documents to an index while a reader is open I get en error message saying "Cannot delete C:\myindex\_3n.f0". I suspect that this is due to the fact that the windows fs won't allow deletion of a file when there is a filehandler connected to it. The solution I have at the moment is this:
boolean isWindows = System.getProperty("os.name").indexOf("indows")!=-1; IndexReader reader = searcher.getIndexSearcher().getIndexReader(); try { if(isWindows) reader.close(); // Need to close reader on windows since the windows file system won't allow deletion of a file with an open filehandler IIndexer indexer = searcher.getIndexer(); addedDocuments = indexer.rebuildIndex(); if(isWindows) searcher.setIndexSearcher(new IndexSearcher(searcher.getIndexDir()));//restore index searcher } catch (IOException e) { e.printStackTrace(); } However this means that I cannot search the index while updating it (or in this case rebuilding it completely). Are there any workaround for this ? Maybe you could rebuild the index into another place on the disk and when it is finished set the searcher to operate in the new place. This would lead to that it is not possible to query the new index until finished. Could you get around this if you build the new index as a RamDirectory which is flushed to disk when finished ? --regards /Bjorn --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]