为什么会产生这个异常:
使用Lucene检索过程中如果用到RangeQuery,PrefixQuery,WildcardQuery,FuzzyQuery这四种Query,可能会产生TooManyClauses异常。为什么会产生这个异常呢?举例说明:
以RangeQuery为例,如果日期范围为19990101到20091231,在索引文件中有19990102,19990103等等这些日期词组,那么RangeQuery会被扩展成“19990102 OR 19990103”,成了2个子句。可以想象,如果索引文件里面在这个时间段内的日期有很多,那么就会产生很多子句。
Continue reading