public DisjunctionMaxWeight(IndexSearcher searcher,boolean needsScores,float boost) throws IOException {
  super(DisjunctionMaxQuery.this);
  for (  Query disjunctQuery : disjuncts) {
    weights.add(searcher.createWeight(disjunctQuery,needsScores,boost));
  }
  this.needsScores=needsScores;
}

public DisjunctionMaxWeight ( IndexSearcher searcher , boolean needsScores , float boost ) throws IOException { super ( DisjunctionMaxQuery . this ) ; for ( Query disjunctQuery : disjuncts ) { weights . add ( searcher . createWeight ( disjunctQuery , needsScores , boost ) ) ; } this . needsScores = needsScores ; }
construct the weight for this query searched by searcher . recursively construct subquery weights .
