private void TChainedFilters(bool useRandomAccess)
{
Query query = new FilteredQuery(new FilteredQuery(new MatchAllDocsQuery(), new CachingWrapperFilter(new QueryWrapperFilter(new TermQuery(new Term("field", "three")))), RandomFilterStrategy(Random(), useRandomAccess)), new CachingWrapperFilter(new QueryWrapperFilter(new TermQuery(new Term("field", "four")))), RandomFilterStrategy(Random(), useRandomAccess));
ScoreDoc[] hits = Searcher.Search(query, 10).ScoreDocs;
Assert.AreEqual(2, hits.Length);
QueryUtils.Check(Random(), query, Searcher, Similarity);
// one more:
query = new FilteredQuery(query, new CachingWrapperFilter(new QueryWrapperFilter(new TermQuery(new Term("field", "five")))), RandomFilterStrategy(Random(), useRandomAccess));
hits = Searcher.Search(query, 10).ScoreDocs;
Assert.AreEqual(1, hits.Length);
QueryUtils.Check(Random(), query, Searcher, Similarity);
}