org.apache.solr.search.function.distance
Class GeohashHaversineFunction

java.lang.Object
  extended by org.apache.solr.search.function.ValueSource
      extended by org.apache.solr.search.function.distance.GeohashHaversineFunction
All Implemented Interfaces:
Serializable

public class GeohashHaversineFunction
extends ValueSource

Calculate the Haversine distance between two geo hash codes.

Ex: ghhsin(ValueSource, ValueSource, radius)

See Also:
for more details on the implementation, Serialized Form

Constructor Summary
GeohashHaversineFunction(ValueSource geoHash1, ValueSource geoHash2, double radius)
           
 
Method Summary
 void createWeight(Map context, Searcher searcher)
          Implementations should propagate createWeight to sub-ValueSources which can optionally store weight info in the context.
 String description()
          description of field, used in explain()
protected  double distance(int doc, DocValues gh1DV, DocValues gh2DV)
           
 boolean equals(Object o)
           
 DocValues getValues(Map context, IndexReader reader)
          Gets the values for this reader and the context that was previously passed to createWeight()
 int hashCode()
           
protected  String name()
           
 
Methods inherited from class org.apache.solr.search.function.ValueSource
getSortField, getValues, newContext, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GeohashHaversineFunction

public GeohashHaversineFunction(ValueSource geoHash1,
                                ValueSource geoHash2,
                                double radius)
Method Detail

name

protected String name()

getValues

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

Overrides:
getValues in class ValueSource
Throws:
IOException

distance

protected double distance(int doc,
                          DocValues gh1DV,
                          DocValues gh2DV)

createWeight

public void createWeight(Map context,
                         Searcher searcher)
                  throws IOException
Description copied from class: ValueSource
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.

Overrides:
createWeight in class ValueSource
Throws:
IOException

equals

public boolean equals(Object o)
Specified by:
equals in class ValueSource

hashCode

public int hashCode()
Specified by:
hashCode in class ValueSource

description

public String description()
Description copied from class: ValueSource
description of field, used in explain()

Specified by:
description in class ValueSource