public override void Search(Weight weight, Filter filter, Collector collector, IState state)
{
if (filter == null)
{
for (int i = 0; i < subReaders.Length; i++)
{
// search each subreader
collector.SetNextReader(subReaders[i], docStarts[i], state);
Scorer scorer = weight.Scorer(subReaders[i], !collector.AcceptsDocsOutOfOrder, true, state);
if (scorer != null)
{
scorer.Score(collector, state);
}
}
}
else
{
for (int i = 0; i < subReaders.Length; i++)
{
// search each subreader
collector.SetNextReader(subReaders[i], docStarts[i], state);
SearchWithFilter(subReaders[i], weight, filter, collector, state);
}
}
}