org.apache.solr.search.function.distance
Class VectorDistanceFunction
java.lang.Object
org.apache.lucene.queries.function.ValueSource
org.apache.solr.search.function.distance.VectorDistanceFunction
- Direct Known Subclasses:
- SquaredEuclideanFunction
public class VectorDistanceFunction
- extends ValueSource
Calculate the p-norm for a Vector. See http://en.wikipedia.org/wiki/Lp_space
Common cases:
- 0 = Sparseness calculation
- 1 = Manhattan distance
- 2 = Euclidean distance
- Integer.MAX_VALUE = infinite norm
- See Also:
for the special case
source1
protected MultiValueSource source1
source2
protected MultiValueSource source2
power
protected float power
oneOverPower
protected float oneOverPower
VectorDistanceFunction
public VectorDistanceFunction(float power,
MultiValueSource source1,
MultiValueSource source2)
name
protected String name()
distance
protected double distance(int doc,
FunctionValues dv1,
FunctionValues dv2)
- Calculate the distance
- Parameters:
doc
- The current docdv1
- The values from the first MultiValueSourcedv2
- The values from the second MultiValueSource
- Returns:
- The distance
getValues
public FunctionValues getValues(Map context,
AtomicReaderContext readerContext)
throws IOException
- Specified by:
getValues
in class ValueSource
- Throws:
IOException
createWeight
public void createWeight(Map context,
IndexSearcher searcher)
throws IOException
- 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()
- Specified by:
description
in class ValueSource
Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.