JAVA lucene 高并发问题

时间:2022-09-27 03:12:54

大数据量搜索,使用lucene可以缓解数据库压力,但在lucene存储文档过大、并发量高、索引更新频率过快的情况下,

lucene搜索会出现句“句柄无效”的情况,随着lucene存储文档的不断增大,出错的频率会越高,

控制索引更新频率,判断索引是否有更新,再创建indexSearch可以缓解读取频率,解决并发问题,

IndexReader indexReader = indexSearch.getIndexReader();    //获取当前的indexReader
if(!indexReader.isCurrent()){ //判断是否有索引更新
indexSearch.close();
indexSearch
= new IndexSearcher(directory, true);
}