NodePhraseScorer(final Weight weight,
final NodePhraseQuery.PostingsAndPosition[] postings,
final Similarity.SloppySimScorer sloppyScorer,
final Similarity.ExactSimScorer exactScorer)
throws IOException {
super(weight);
this.sloppyScorer = sloppyScorer;
this.exactScorer = exactScorer;
phrasePositions = new NodePhrasePosition[postings.length];
for (int i = 0; i < postings.length; i++) {
phrasePositions[i] = new NodePhrasePosition(postings[i].postings, postings[i].position);
}
final NodeScorer[] scorers = new NodeScorer[postings.length];
for (int i = 0; i < postings.length; i++) {
scorers[i] = new NodeTermScorer(weight, postings[i].postings, exactScorer);
}
conjunctionScorer = new NodeConjunctionScorer(weight, 1.0f, scorers);
}