public virtual void TestHugeN()
{
TaskScheduler service = new LimitedConcurrencyLevelTaskScheduler(4);
IndexSearcher[] searchers = new IndexSearcher[] { new IndexSearcher(Reader), new IndexSearcher(Reader, service) };
Query[] queries = new Query[] { new MatchAllDocsQuery(), new TermQuery(new Term("field", "1")) };
Sort[] sorts = new Sort[] { null, new Sort(new SortField("field2", SortField.Type_e.STRING)) };
Filter[] filters = new Filter[] { null, new QueryWrapperFilter(new TermQuery(new Term("field2", "true"))) };
ScoreDoc[] afters = new ScoreDoc[] { null, new FieldDoc(0, 0f, new object[] { new BytesRef("boo!") }) };
foreach (IndexSearcher searcher in searchers)
{
foreach (ScoreDoc after in afters)
{
foreach (Query query in queries)
{
foreach (Sort sort in sorts)
{
foreach (Filter filter in filters)
{
searcher.Search(query, int.MaxValue);
searcher.SearchAfter(after, query, int.MaxValue);
searcher.Search(query, filter, int.MaxValue);
searcher.SearchAfter(after, query, filter, int.MaxValue);
if (sort != null)
{
searcher.Search(query, int.MaxValue, sort);
searcher.Search(query, filter, int.MaxValue, sort);
searcher.Search(query, filter, int.MaxValue, sort, true, true);
searcher.Search(query, filter, int.MaxValue, sort, true, false);
searcher.Search(query, filter, int.MaxValue, sort, false, true);
searcher.Search(query, filter, int.MaxValue, sort, false, false);
searcher.SearchAfter(after, query, filter, int.MaxValue, sort);
searcher.SearchAfter(after, query, filter, int.MaxValue, sort, true, true);
searcher.SearchAfter(after, query, filter, int.MaxValue, sort, true, false);
searcher.SearchAfter(after, query, filter, int.MaxValue, sort, false, true);
searcher.SearchAfter(after, query, filter, int.MaxValue, sort, false, false);
}
}
}
}
}
}
TestUtil.ShutdownExecutorService(service);
}