BBoxSimilarityValueSource (Lucene 10.5.0 spatial-extras API)
Description: declaration: package: org.apache.lucene.spatial.bbox, class: BBoxSimilarityValueSource

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, 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`