org.apache.solr.search.function
Class ValueSource

java.lang.Object
  extended by org.apache.solr.search.function.ValueSource
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
ConstNumberSource, DualFloatFunction, FieldCacheSource, FileFloatSource, GeohashFunction, GeohashHaversineFunction, HaversineConstFunction, HaversineFunction, LinearFloatFunction, LiteralValueSource, MultiFloatFunction, MultiValueSource, OrdFieldSource, QueryValueSource, RandomSortField.RandomValueSource, RangeMapFloatFunction, ReciprocalFloatFunction, ReverseOrdFieldSource, ScaleFloatFunction, SingleFunction, StringDistanceFunction, TopValueSource, VectorDistanceFunction

public abstract class ValueSource
extends Object
implements Serializable

Instantiates DocValues for a particular reader.
Often used when creating a FunctionQuery.

Version:
$Id: ValueSource.java 1140724 2011-06-28 17:00:20Z yonik $
See Also:
Serialized Form

Constructor Summary
ValueSource()
           
 
Method Summary
 void createWeight(Map context, Searcher searcher)
          Implementations should propagate createWeight to sub-ValueSources which can optionally store weight info in the context.
abstract  String description()
          description of field, used in explain()
abstract  boolean equals(Object o)
           
 SortField getSortField(boolean reverse)
          EXPERIMENTAL: This method is subject to change.
 DocValues getValues(IndexReader reader)
          Deprecated. 
 DocValues getValues(Map context, IndexReader reader)
          Gets the values for this reader and the context that was previously passed to createWeight()
abstract  int hashCode()
           
static Map newContext()
          Returns a new non-threadsafe context map.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ValueSource

public ValueSource()
Method Detail

getValues

@Deprecated
public DocValues getValues(IndexReader reader)
                    throws IOException
Deprecated. 

Throws:
IOException

getValues

public DocValues getValues(Map context,
                           IndexReader reader)
                    throws IOException
Gets the values for this reader and the context that was previously passed to createWeight()

Throws:
IOException

equals

public abstract boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public abstract int hashCode()
Overrides:
hashCode in class Object

description

public abstract String description()
description of field, used in explain()


toString

public String toString()
Overrides:
toString in class Object

createWeight

public void createWeight(Map context,
                         Searcher searcher)
                  throws IOException
Implementations should propagate createWeight to sub-ValueSources which can optionally store weight info in the context. The context object will be passed to getValues() where this info can be retrieved.

Throws:
IOException

newContext

public static Map newContext()
Returns a new non-threadsafe context map.


getSortField

public SortField getSortField(boolean reverse)
                       throws IOException
EXPERIMENTAL: This method is subject to change.
WARNING: Sorted function queries are not currently weighted.

Get the SortField for this ValueSource. Uses the getValues(java.util.Map, IndexReader) to populate the SortField.

Parameters:
reverse - true if this is a reverse sort.
Returns:
The SortField for the ValueSource
Throws:
IOException - if there was a problem reading the values.