adding in the loop Diego and Christine as potentially they are not in the
list yet.
--------------------------
Alessandro Benedetti
Apache Lucene/Solr Committer
Director, R&D Software Engineer, Search Consultant

www.sease.io


On Fri, 3 Dec 2021 at 15:24, Anna Ruggero <a.rugg...@sease.io> wrote:

> Hi Diego,
> Thank you for your reply.
> From what I've seen the topN variable takes the value from the rerankDocs
> parameter passed at query time.
> I've tried to pass different values for the rerankDocs and topN seems
> always to reflect this. Also in these cases, hits.length was always equal
> to topN.
>
> It's also true that from documentation
> https://solr.apache.org/guide/8_11/query-re-ranking.html:
> *rerankDocs*: The number of top N documents from the original query that
> should be re-ranked. *This number will be treated as a minimum*, and may
> be increased internally automatically in order to rank enough documents to
> satisfy the query (i.e., start+rows). The default is 200.
>
> Could be this evidence of the hypothetical case you mentioned? topN = 100
> but hits.length > 100
> Could you give me an example of this?
> I would be happy to know if this can happen in some way :)
>
> Thank you very much.
>
> Anna
>
>
>
> On 2021/12/02 23:28:23 Diego Ceccarelli wrote:
> > Hi, I had a quick look and it seems that Anna is right, but there should
> be
> > a case where you ask to rerank more documents than what you want to see..
> > need to review the code :)
> >
> > cheers,
> > Diego
> >
> >
> >
> >
> > On Thu, 2 Dec 2021, 16:40 Alessandro Benedetti, <a....@sease.io>
> > wrote:
> >
> > > Adding Christine and Diego to the loop if they missed this.
> > > Thanks Anna for raising.
> > >
> > > Cheers
> > > --------------------------
> > > Alessandro Benedetti
> > > Apache Lucene/Solr Committer
> > > Director, R&D Software Engineer, Search Consultant
> > >
> > > www.sease.io
> > >
> > >
> > > On Wed, 10 Nov 2021 at 16:41, Anna Ruggero <a....@sease.io> wrote:
> > >
> > >> 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