大数据量搜索,使用lucene可以缓解数据库压力,但在lucene存储文档过大、并发量高、索引更新频率过快的情况下,
lucene搜索会出现句“句柄无效”的情况,随着lucene存储文档的不断增大,出错的频率会越高,
控制索引更新频率,判断索引是否有更新,再创建indexSearch可以缓解读取频率,解决并发问题,
IndexReader indexReader = indexSearch.getIndexReader(); //获取当前的indexReader
if(!indexReader.isCurrent()){ //判断是否有索引更新
indexSearch.close();
indexSearch = new IndexSearcher(directory, true);
}