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/