Class LatLonPointDistanceFeatureQuery.DistanceScorer

java.lang.Object
org.apache.lucene.search.Scorable
org.apache.lucene.search.Scorer
org.apache.lucene.document.LatLonPointDistanceFeatureQuery.DistanceScorer
Enclosing class:
LatLonPointDistanceFeatureQuery

private class LatLonPointDistanceFeatureQuery.DistanceScorer extends Scorer
  • Field Details

    • maxDoc

      private final int maxDoc
    • it

      private DocIdSetIterator it
    • doc

      private int doc
    • leadCost

      private final long leadCost
    • boost

      private final float boost
    • pointValues

      private final PointValues pointValues
    • docValues

      private final NumericDocValues docValues
    • maxDistance

      private double maxDistance
    • setMinCompetitiveScoreCounter

      private int setMinCompetitiveScoreCounter
  • Constructor Details

    • DistanceScorer

      protected DistanceScorer(int maxDoc, long leadCost, float boost, PointValues pointValues, NumericDocValues docValues)
  • Method Details

    • docID

      public int docID()
      Description copied from class: Scorer
      Returns the doc ID that is currently being scored.
      Specified by:
      docID in class Scorer
    • score

      private float score(double distance)
    • computeMaxDistance

      private double computeMaxDistance(float minScore, double previousMaxDistance)
      Inverting the score computation is very hard due to all potential rounding errors, so we binary search the maximum distance. The limit is set to 1 meter.
    • score

      public float score() throws IOException
      Description copied from class: Scorable
      Returns the score of the current document matching the query.
      Specified by:
      score in class Scorable
      Throws:
      IOException
    • iterator

      public DocIdSetIterator iterator()
      Description copied from class: Scorer
      Return a DocIdSetIterator over matching documents.

      The returned iterator will either be positioned on -1 if no documents have been scored yet, DocIdSetIterator.NO_MORE_DOCS if all documents have been scored already, or the last document id that has been scored otherwise.

      The returned iterator is a view: calling this method several times will return iterators that have the same state.

      Specified by:
      iterator in class Scorer
    • getMaxScore

      public float getMaxScore(int upTo)
      Description copied from class: Scorer
      Return the maximum score that documents between the last target that this iterator was shallow-advanced to included and upTo included.
      Specified by:
      getMaxScore in class Scorer
    • setMinCompetitiveScore

      public void setMinCompetitiveScore(float minScore) throws IOException
      Description copied from class: Scorable
      Optional method: Tell the scorer that its iterator may safely ignore all documents whose score is less than the given minScore. This is a no-op by default.

      This method may only be called from collectors that use ScoreMode.TOP_SCORES, and successive calls may only set increasing values of minScore.

      Overrides:
      setMinCompetitiveScore in class Scorable
      Throws:
      IOException