public virtual void PostCreate(BooleanQuery q) { BooleanClause[] c = q.GetClauses(); int opt = 0; for (int i = 0; i < c.Length; i++) { if (c[i].Occur == Occur.SHOULD) opt++; } q.MinimumNumberShouldMatch = rnd.Next(opt + 2); } }