Util.TopNSearcher (Lucene 10.5.1 core API)
Description: declaration: package: org.apache.lucene.util.fst, class: Util, class: TopNSearcher

Package org.apache.lucene.util.fst

# Class Util.TopNSearcher<T>

java.lang.Object
org.apache.lucene.util.fst.Util.TopNSearcher<T>

Enclosing class:
  `Util`

public static class Util.TopNSearcher<T> extends Object
Utility class to find top N shortest paths from start point(s).

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TopNSearcher(FST<T> fst, int topN, int maxQueueDepth, Comparator<T> comparator)`
  Creates an unbounded TopNSearcher
  `TopNSearcher(FST<T> fst, int topN, int maxQueueDepth, Comparator<T> comparator, Comparator<Util.FSTPath<T>> pathComparator)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected boolean`
  `acceptPartialPath(Util.FSTPath<T> path)`
  Override this to prevent considering a path before it's complete
  `protected boolean`
  `acceptResult(Util.FSTPath<T> path)`
  `protected boolean`
  `acceptResult(IntsRef input, T output)`
  `protected void`
  `addIfCompetitive(Util.FSTPath<T> path)`
  `void`
  `addStartPaths(FST.Arc<T> node, T startOutput, boolean allowEmptyString, IntsRefBuilder input)`
  `void`
  `addStartPaths(FST.Arc<T> node, T startOutput, boolean allowEmptyString, IntsRefBuilder input, float boost, CharSequence context, int payload)`
  Adds all leaving arcs, including 'finished' arc, if the node is final, from this node into the queue.
  `Util.TopResults<T>`
  `search()`

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

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### TopNSearcher

    public TopNSearcher(FST<T> fst, int topN, int maxQueueDepth, Comparator<T> comparator)
    Creates an unbounded TopNSearcher
    Parameters:
      `fst` - the `FST` to search on
      `topN` - the number of top scoring entries to retrieve
      `maxQueueDepth` - the maximum size of the queue of possible top entries
      `comparator` - the comparator to select the top N

  - ### TopNSearcher

    public TopNSearcher(FST<T> fst, int topN, int maxQueueDepth, Comparator<T> comparator, Comparator<Util.FSTPath<T>> pathComparator)

- ## Method Details

  - ### addIfCompetitive

    protected void addIfCompetitive(Util.FSTPath<T> path)

  - ### addStartPaths

    public void addStartPaths(FST.Arc<T> node, T startOutput, boolean allowEmptyString, IntsRefBuilder input) throws IOException
    Throws:
      `IOException`

  - ### addStartPaths

    public void addStartPaths(FST.Arc<T> node, T startOutput, boolean allowEmptyString, IntsRefBuilder input, float boost, CharSequence context, int payload) throws IOException
    Adds all leaving arcs, including 'finished' arc, if the node is final, from this node into the queue.
    Throws:
      `IOException`

  - ### search

    public Util.TopResults<T> search() throws IOException
    Throws:
      `IOException`

  - ### acceptResult

    protected boolean acceptResult(Util.FSTPath<T> path)

  - ### acceptPartialPath

    protected boolean acceptPartialPath(Util.FSTPath<T> path)
    Override this to prevent considering a path before it's complete

  - ### acceptResult

    protected boolean acceptResult(IntsRef input, T output)