You may look this:
private static IndexSearcher indexSearcher = null;

 public synchronized IndexSearcher newIndexSearcher() {
  try {

   if (null == indexSearcher) {
    Directory directory = FSDirectory.open(new
File(Config.DB_DIR+"/rssindex"));
    indexSearcher = new IndexSearcher(IndexReader.open(directory, true));
   } else {
    IndexReader indexReader = indexSearcher.getIndexReader();
    IndexReader newIndexReader = indexReader.reopen();//reopen old
indexReader
    if (newIndexReader!=indexReader) {
     indexReader.close();
     indexSearcher.close();


     indexSearcher = new IndexSearcher(newIndexReader);
    }
   }
   return indexSearcher;
  } catch (CorruptIndexException e) {
   log.error(e.getMessage(),e);
   return null;
  } catch (IOException e) {
   log.error(e.getMessage(),e);
   return null;
  }
 }



-- 
冲浪板

my blog:http://chonglangban.appspot.com/
my site:http://kejiblog.appspot.com/

Reply via email to