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