Package org.apache.lucene.spatial.bbox

# Class BBoxSimilarityValueSource

java.lang.Object
org.apache.lucene.search.DoubleValuesSource
org.apache.lucene.spatial.bbox.BBoxSimilarityValueSource

All Implemented Interfaces:
  `SegmentCacheable`

Direct Known Subclasses:
  `BBoxOverlapRatioValueSource`

public abstract class BBoxSimilarityValueSource extends DoubleValuesSource
A base class for calculating a spatial relevance rank per document from a provided `ShapeValuesSource` returning a `Rectangle` per-document.

Implementers: remember to implement equals and hashCode if you have fields!

WARNING: This API is experimental and might change in incompatible ways in the next release.

## Field Summary

### Fields inherited from class org.apache.lucene.search.DoubleValuesSource

`SCORES`

## Constructor Summary

Constructors
Constructor
Description
`BBoxSimilarityValueSource(ShapeValuesSource bboxValueSource)`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object o)`
`Explanation`
`explain(LeafReaderContext ctx, int docId, Explanation scoreExplanation)`
`DoubleValues`
`getValues(LeafReaderContext readerContext, DoubleValues scores)`
`int`
`hashCode()`
`boolean`
`isCacheable(LeafReaderContext ctx)`
`boolean`
`needsScores()`
`DoubleValuesSource`
`rewrite(IndexSearcher searcher)`
`protected abstract double`
`score(org.locationtech.spatial4j.shape.Rectangle rect, AtomicReference<Explanation> exp)`
Return a relevancy score.
`protected abstract String`
`similarityDescription()`
A comma-separated list of configurable items of the subclass to put into `toString()`.
`String`
`toString()`

### Methods inherited from class org.apache.lucene.search.DoubleValuesSource

`constant, fromDoubleField, fromField, fromFloatField, fromIntField, fromLongField, fromQuery, fromScorer, getSortField, similarityToQueryVector, similarityToQueryVector, toLongValuesSource, toSortableLongDoubleValuesSource`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### BBoxSimilarityValueSource

public BBoxSimilarityValueSource(ShapeValuesSource bboxValueSource)

## Method Details

### rewrite

public DoubleValuesSource rewrite(IndexSearcher searcher) throws IOException

Specified by:
  `rewrite` in class `DoubleValuesSource`
Throws:
  `IOException`

### toString

public String toString()

Specified by:
  `toString` in class `DoubleValuesSource`

### similarityDescription

protected abstract String similarityDescription()
A comma-separated list of configurable items of the subclass to put into `toString()`.

### getValues

public DoubleValues getValues(LeafReaderContext readerContext, DoubleValues scores) throws IOException

Specified by:
  `getValues` in class `DoubleValuesSource`
Throws:
  `IOException`

### score

protected abstract double score(org.locationtech.spatial4j.shape.Rectangle rect, AtomicReference<Explanation> exp)
Return a relevancy score. If `exp` is provided then diagnostic information is added.

Parameters:
  `rect` - The indexed rectangle; not null.
  `exp` - Optional diagnostic holder.
Returns:
  a score.

### equals

public boolean equals(Object o)

Specified by:
  `equals` in class `DoubleValuesSource`

### hashCode

public int hashCode()

Specified by:
  `hashCode` in class `DoubleValuesSource`

### explain

public Explanation explain(LeafReaderContext ctx, int docId, Explanation scoreExplanation) throws IOException

Overrides:
  `explain` in class `DoubleValuesSource`
Throws:
  `IOException`

### isCacheable

public boolean isCacheable(LeafReaderContext ctx)

### needsScores

public boolean needsScores()

Specified by:
  `needsScores` in class `DoubleValuesSource`