Esempio n. 1
0
  /**
   * Advance all subscorers after the current document determined by the top of the <code>
   * scorerCellQueue</code> if all the subscorers are not exhausted. <br>
   * At least the top scorer with the minimum entity number will be advanced.
   *
   * @return true iff there is a match. <br>
   *     In case there is a match, </code>entity</code>, </code>currentScore</code>, and </code>
   *     nrMatchers</code> describe the match.
   */
  protected int advanceAfterCurrent() throws IOException {
    if (scorerCellQueue.size() > 0) {
      if ((queueSize -= scorerCellQueue.nextAndAdjustElsePop()) == 0) {
        return NO_MORE_DOCS;
      }

      entity = scorerCellQueue.topEntity();
      this.nextPosition(); // advance to the first position [SRN-24]
      return entity;
    }
    return NO_MORE_DOCS;
  }