Package org.apache.solr.ltr.feature
Class Feature
- java.lang.Object
-
- org.apache.lucene.search.Query
-
- org.apache.solr.ltr.feature.Feature
-
- All Implemented Interfaces:
org.apache.lucene.util.Accountable
- Direct Known Subclasses:
FieldLengthFeature,FieldValueFeature,OriginalScoreFeature,SolrFeature,ValueFeature
public abstract class Feature extends org.apache.lucene.search.Query implements org.apache.lucene.util.AccountableA recipe for computing a feature. Subclass this for specialized feature calculations.A feature consists of
- a name as the identifier
- parameters to represent the specific feature
Example configuration (snippet):
{ "class" : "...", "name" : "myFeature", "params" : { ... } }Featureis an abstract class and concrete classes should implement thevalidate()function, and must implement theparamsToMap()and createWeight() methods.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classFeature.FeatureWeightWeight for a feature
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract Feature.FeatureWeightcreateWeight(org.apache.lucene.search.IndexSearcher searcher, boolean needsScores, SolrQueryRequest request, org.apache.lucene.search.Query originalQuery, Map<String,String[]> efi)protected LinkedHashMap<String,Object>defaultParamsToMap()booleanequals(Object o)floatgetDefaultValue()intgetIndex()static FeaturegetInstance(SolrResourceLoader solrResourceLoader, String className, String name, Map<String,Object> params)StringgetName()inthashCode()abstract LinkedHashMap<String,Object>paramsToMap()longramBytesUsed()voidsetDefaultValue(Object obj)voidsetIndex(int index)StringtoString(String field)protected abstract voidvalidate()As part of creation of a feature instance, this function confirms that the feature parameters are valid.voidvisit(org.apache.lucene.search.QueryVisitor visitor)-
Methods inherited from class org.apache.lucene.search.Query
classHash, createWeight, rewrite, rewrite, sameClassAs, toString
-
-
-
-
Field Detail
-
name
protected final String name
-
-
Method Detail
-
getInstance
public static Feature getInstance(SolrResourceLoader solrResourceLoader, String className, String name, Map<String,Object> params)
-
validate
protected abstract void validate() throws FeatureExceptionAs part of creation of a feature instance, this function confirms that the feature parameters are valid.- Throws:
FeatureException- Feature Exception
-
toString
public String toString(String field)
- Specified by:
toStringin classorg.apache.lucene.search.Query
-
createWeight
public abstract Feature.FeatureWeight createWeight(org.apache.lucene.search.IndexSearcher searcher, boolean needsScores, SolrQueryRequest request, org.apache.lucene.search.Query originalQuery, Map<String,String[]> efi) throws IOException
- Throws:
IOException
-
getDefaultValue
public float getDefaultValue()
-
setDefaultValue
public void setDefaultValue(Object obj)
-
hashCode
public int hashCode()
- Specified by:
hashCodein classorg.apache.lucene.search.Query
-
equals
public boolean equals(Object o)
- Specified by:
equalsin classorg.apache.lucene.search.Query
-
ramBytesUsed
public long ramBytesUsed()
- Specified by:
ramBytesUsedin interfaceorg.apache.lucene.util.Accountable
-
visit
public void visit(org.apache.lucene.search.QueryVisitor visitor)
- Specified by:
visitin classorg.apache.lucene.search.Query
-
getName
public String getName()
- Returns:
- the name
-
getIndex
public int getIndex()
- Returns:
- the id
-
setIndex
public void setIndex(int index)
- Parameters:
index- Unique ID for this feature. Similar to feature name, except it can be used to directly access the feature in the global list of features.
-
paramsToMap
public abstract LinkedHashMap<String,Object> paramsToMap()
-
defaultParamsToMap
protected LinkedHashMap<String,Object> defaultParamsToMap()
-
-