Lucene: Filter跟Query本质上是一样的
下面这段代码使用了两个条件搜索,一个声明为Query对象,另一个声明为Filter对象
TermQuery query = new TermQuery(new Term("keword", "hello")); Filter ownerFilter = new QueryWrapperFilter((new TermQuery(new Term("owner", "jake")));TopDocs hits = searcher.search(query, ownerFilter, 10);
实际上这跟直接使用一个 BooleanQuery 聚合两个Query差不多,在功能上是一模一样的。也就是说,Filter跟Query本质上是一样的。