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 and 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

All Methods Instance Methods Concrete Methods
`protected boolean` `acceptPartialPath(Util.FSTPath<T> path)` Override this to prevent considering a path before it's complete
`protected boolean` `acceptResult(IntsRef input, T output)`
`protected boolean` `acceptResult(Util.FSTPath<T> path)`
`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 Detail

#### 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 Detail

#### 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)