Hi all,

I was looking at the *org.apache.solr.ltr.LTRRescorer#scoreFeatures *method.
Since we are using reranking applied to some topN documents (rerankDocs
parameter) I think that this block of code in
*org.apache.solr.ltr.LTRRescorer#scoreSingleHit
*will never be accessed:

if (hitUpto >= topN) {
  // once that heap is ready, if the score of this document is lower that
  // the minimum
  // i don't want to log the feature. Otherwise I replace it with the
  // minimum and fix the
  // heap.
  if (hit.score > reranked[0].score) {
    reranked[0] = hit;
    heapAdjust(reranked, topN, 0);
    if (featureLogger != null && indexSearcher instanceof SolrIndexSearcher) {
      featureLogger.log(hit.doc, rerankingQuery, (SolrIndexSearcher)
indexSearcher,
          modelWeight.getFeaturesInfo());
    }
  }

Since we are reranking the topN documents. the *hits.length* in the
scoreFeatures method is always *equal* to the *topN* variable.
Therefore, since *hitUpto* is going from *0* to *hits.length -1*, we will
never have *hitUpto >= topN*

Is there any condition I am missing?
Couldn't this piece of code be removed?

Thank you,
Anna

Reply via email to