Class Feature.FeatureWeight

java.lang.Object
org.apache.lucene.search.Weight
org.apache.solr.ltr.feature.Feature.FeatureWeight
All Implemented Interfaces:
org.apache.lucene.search.SegmentCacheable
Direct Known Subclasses:
FieldLengthFeature.FieldLengthFeatureWeight, FieldValueFeature.FieldValueFeatureWeight, OriginalScoreFeature.OriginalScoreWeight, SolrFeature.SolrFeatureWeight, ValueFeature.ValueFeatureWeight
Enclosing class:
Feature

public abstract class Feature.FeatureWeight extends org.apache.lucene.search.Weight
Weight for a feature
  • Field Details

    • searcher

      protected final org.apache.lucene.search.IndexSearcher searcher
    • request

      protected final SolrQueryRequest request
    • efi

      protected final Map<String,String[]> efi
    • macroExpander

      protected final MacroExpander macroExpander
    • originalQuery

      protected final org.apache.lucene.search.Query originalQuery
  • Constructor Details

    • FeatureWeight

      public FeatureWeight(org.apache.lucene.search.Query q, org.apache.lucene.search.IndexSearcher searcher, SolrQueryRequest request, org.apache.lucene.search.Query originalQuery, Map<String,String[]> efi)
      Initialize a feature without the normalizer from the feature file. This is called on initial construction since multiple models share the same features, but have different normalizers. A concrete model's feature is copied through featForNewModel().
      Parameters:
      q - Solr query associated with this FeatureWeight
      searcher - Solr searcher available for features if they need them
  • Method Details

    • getName

      public String getName()
    • getIndex

      public int getIndex()
    • getDefaultValue

      public float getDefaultValue()
    • featureScorer

      public abstract Feature.FeatureWeight.FeatureScorer featureScorer(org.apache.lucene.index.LeafReaderContext context) throws IOException
      Throws:
      IOException
    • scorerSupplier

      public org.apache.lucene.search.ScorerSupplier scorerSupplier(org.apache.lucene.index.LeafReaderContext context) throws IOException
      Specified by:
      scorerSupplier in class org.apache.lucene.search.Weight
      Throws:
      IOException
    • isCacheable

      public boolean isCacheable(org.apache.lucene.index.LeafReaderContext ctx)
    • explain

      public org.apache.lucene.search.Explanation explain(org.apache.lucene.index.LeafReaderContext context, int doc) throws IOException
      Specified by:
      explain in class org.apache.lucene.search.Weight
      Throws:
      IOException
    • toString

      public String toString()
      Used in the FeatureWeight's explain. Each feature should implement this returning properties of the specific scorer useful for an explain. For example "MyCustomClassFeature [name=" + name + "myVariable:" + myVariable + "]"; If not provided, a default implementation will return basic feature properties, which might not include query time specific values.
      Overrides:
      toString in class Object