2019独角兽企业重金招聘Python工程师标准>>>
最近在学习Lucene,使用的是5.x版本。
学习到filter的使用时,发现在Lucene5中Filter的好多子类都过时了,就连抽象父Filter也过时了,例如
并且query方法也过时了
真的是感慨Lucene的版本之间变化真大,开发者真难!那怎么使用Filter功能呢?
@Test
public void test02() {Query filter1 = new WildcardQuery(new Term("name", "*.txt"));Query filter2 = NumericRangeQuery.newLongRange("size", 600L, 2000L, true, true);BooleanQuery booleanFilter = new BooleanQuery.Builder().add(filter1, BooleanClause.Occur.FILTER).add(filter2, BooleanClause.Occur.MUST).build();simpleAdvanceSearch.searcherByFilter(booleanFilter);
}
对滴,是通过 Occur.FILTER 标识对应的查询是filter,这个在查询是就会做对应的处理。
执行结果