Class WFSTCompletionLookup


  • public class WFSTCompletionLookup
    extends Lookup
    Suggester based on a weighted FST: it first traverses the prefix, then walks the n shortest paths to retrieve top-ranked suggestions.

    NOTE: Input weights must be between 0 and Integer.MAX_VALUE, any other values will be rejected.

    • Constructor Detail

      • WFSTCompletionLookup

        public WFSTCompletionLookup​(boolean exactFirst)
        Creates a new suggester.
        Parameters:
        exactFirst - true if suggestions that match the prefix exactly should always be returned first, regardless of score. This has no performance impact, but could result in low-quality suggestions.
    • Method Detail

      • build

        public void build​(InputIterator iterator)
                   throws java.io.IOException
        Description copied from class: Lookup
        Builds up a new internal Lookup representation based on the given InputIterator. The implementation might re-sort the data internally.
        Specified by:
        build in class Lookup
        Throws:
        java.io.IOException
      • store

        public boolean store​(DataOutput output)
                      throws java.io.IOException
        Description copied from class: Lookup
        Persist the constructed lookup data to a directory. Optional operation.
        Specified by:
        store in class Lookup
        Parameters:
        output - DataOutput to write the data to.
        Returns:
        true if successful, false if unsuccessful or not supported.
        Throws:
        java.io.IOException - when fatal IO error occurs.
      • load

        public boolean load​(DataInput input)
                     throws java.io.IOException
        Description copied from class: Lookup
        Discard current lookup data and load it from a previously saved copy. Optional operation.
        Specified by:
        load in class Lookup
        Parameters:
        input - the DataInput to load the lookup data.
        Returns:
        true if completed successfully, false if unsuccessful or not supported.
        Throws:
        java.io.IOException - when fatal IO error occurs.
      • lookup

        public java.util.List<Lookup.LookupResult> lookup​(java.lang.CharSequence key,
                                                          boolean onlyMorePopular,
                                                          int num)
        Description copied from class: Lookup
        Look up a key and return possible completion for this key.
        Specified by:
        lookup in class Lookup
        Parameters:
        key - lookup key. Depending on the implementation this may be a prefix, misspelling, or even infix.
        onlyMorePopular - return only more popular results
        num - maximum number of results to return
        Returns:
        a list of possible completions, with their relative weight (e.g. popularity)
      • get

        public java.lang.Object get​(java.lang.CharSequence key)
        Returns the weight associated with an input string, or null if it does not exist.
      • sizeInBytes

        public long sizeInBytes()
        Returns byte size of the underlying FST.
        Specified by:
        sizeInBytes in class Lookup
        Returns:
        ram size of the lookup implementation in bytes
      • getCount

        public long getCount()
        Description copied from class: Lookup
        Get the number of entries the lookup was built with
        Specified by:
        getCount in class Lookup
        Returns:
        total number of suggester entries