Class LTRRescorer

  • Direct Known Subclasses:
    LTRInterleavingRescorer

    public class LTRRescorer
    extends org.apache.lucene.search.Rescorer
    Implements the rescoring logic. The top documents returned by solr with their original scores, will be processed by a LTRScoringQuery that will assign a new score to each document. The top documents will be resorted based on the new score.
    • Field Detail

      • scoreComparator

        protected static final Comparator<org.apache.lucene.search.ScoreDoc> scoreComparator
    • Constructor Detail

      • LTRRescorer

        public LTRRescorer()
    • Method Detail

      • heapAdjust

        protected static void heapAdjust​(org.apache.lucene.search.ScoreDoc[] hits,
                                         int size,
                                         int root)
      • heapify

        protected static void heapify​(org.apache.lucene.search.ScoreDoc[] hits,
                                      int size)
      • rescore

        public org.apache.lucene.search.TopDocs rescore​(org.apache.lucene.search.IndexSearcher searcher,
                                                        org.apache.lucene.search.TopDocs firstPassTopDocs,
                                                        int topN)
                                                 throws IOException
        rescores the documents:
        Specified by:
        rescore in class org.apache.lucene.search.Rescorer
        Parameters:
        searcher - current IndexSearcher
        firstPassTopDocs - documents to rerank;
        topN - documents to return;
        Throws:
        IOException
      • getFirstPassDocsRanked

        protected static org.apache.lucene.search.ScoreDoc[] getFirstPassDocsRanked​(org.apache.lucene.search.TopDocs firstPassTopDocs)
      • scoreFeatures

        public void scoreFeatures​(org.apache.lucene.search.IndexSearcher indexSearcher,
                                  int topN,
                                  LTRScoringQuery.ModelWeight modelWeight,
                                  org.apache.lucene.search.ScoreDoc[] hits,
                                  List<org.apache.lucene.index.LeafReaderContext> leaves,
                                  org.apache.lucene.search.ScoreDoc[] reranked)
                           throws IOException
        Throws:
        IOException
      • explain

        public org.apache.lucene.search.Explanation explain​(org.apache.lucene.search.IndexSearcher searcher,
                                                            org.apache.lucene.search.Explanation firstPassExplanation,
                                                            int docID)
                                                     throws IOException
        Specified by:
        explain in class org.apache.lucene.search.Rescorer
        Throws:
        IOException
      • getExplanation

        protected static org.apache.lucene.search.Explanation getExplanation​(org.apache.lucene.search.IndexSearcher searcher,
                                                                             int docID,
                                                                             LTRScoringQuery rerankingQuery)
                                                                      throws IOException
        Throws:
        IOException