Hi, I have been using a RAMDirectory for indexing without any problem, but I then moved to a file based directory to reduce memory usage. this has been working fine on Windows and OSX and my version of linux (redhat) but is failing on a version of linux (archlinux) with 'Too many files opened' , but they are only indexing 32 documents , I can index thousands without a problem. It mentions this error in the Lucene FAQ but I am not dealing directly with the filesystem myself, this is my code for creating an index is it okay or is there some kind of close that I am missing

thanks for any help Paul

public synchronized void reindex()
   {
       MainWindow.logger.info("Reindex start:" + new Date());
       TableModel tableModel = table.getModel();
       try
       {
           //Recreate the RAMDirectory uses too much memory
           //directory = new RAMDirectory();
directory = FSDirectory.getDirectory(Platform.getPlatformLicenseFolder()+ "/" + TAG_BROWSER_INDEX);
           IndexWriter writer = new IndexWriter(directory, analyzer, true);

           //Iterate through all rows
           for (int row = 0; row < tableModel.getRowCount(); row++)
           {
               //for each row make a new document
               Document document = createDocument(row);
               writer.addDocument(document);

           }
           writer.optimize();
           writer.close();
       }
       catch (Exception e)
       {
throw new RuntimeException("Problem indexing Data:" + e.getMessage());
       }
}

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to