public override Query Rewrite(IndexReader reader)
{
if (termArrays.Count == 1)
{
// optimize one-term case
Term[] terms = termArrays[0];
BooleanQuery boq = new BooleanQuery(true);
for (int i = 0; i < terms.Length; i++)
{
boq.Add(new TermQuery(terms[i]), Occur.SHOULD);
}
boq.Boost = Boost;
return boq;
}
else
{
return this;
}
}