Class Lookup

    • Field Detail

      • CHARSEQUENCE_COMPARATOR

        public static final java.util.Comparator<java.lang.CharSequence> CHARSEQUENCE_COMPARATOR
        A simple char-by-char comparator for CharSequence
    • Constructor Detail

      • Lookup

        public Lookup()
        Sole constructor. (For invocation by subclass constructors, typically implicit.)
    • Method Detail

      • build

        public void build​(Dictionary dict)
                   throws java.io.IOException
        Build lookup from a dictionary. Some implementations may require sorted or unsorted keys from the dictionary's iterator - use SortedInputIterator or UnsortedInputIterator in such case.
        Throws:
        java.io.IOException
      • load

        public boolean load​(java.io.InputStream input)
                     throws java.io.IOException
        Calls load(DataInput) after converting InputStream to DataInput
        Throws:
        java.io.IOException
      • store

        public boolean store​(java.io.OutputStream output)
                      throws java.io.IOException
        Calls store(DataOutput) after converting OutputStream to DataOutput
        Throws:
        java.io.IOException
      • getCount

        public abstract long getCount()
                               throws java.io.IOException
        Get the number of entries the lookup was built with
        Returns:
        total number of suggester entries
        Throws:
        java.io.IOException
      • build

        public abstract void build​(InputIterator inputIterator)
                            throws java.io.IOException
        Builds up a new internal Lookup representation based on the given InputIterator. The implementation might re-sort the data internally.
        Throws:
        java.io.IOException
      • lookup

        public java.util.List<Lookup.LookupResult> lookup​(java.lang.CharSequence key,
                                                          boolean onlyMorePopular,
                                                          int num)
                                                   throws java.io.IOException
        Look up a key and return possible completion for this key.
        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)
        Throws:
        java.io.IOException
      • lookup

        public abstract java.util.List<Lookup.LookupResult> lookup​(java.lang.CharSequence key,
                                                                   java.util.Set<BytesRef> contexts,
                                                                   boolean onlyMorePopular,
                                                                   int num)
                                                            throws java.io.IOException
        Look up a key and return possible completion for this key.
        Parameters:
        key - lookup key. Depending on the implementation this may be a prefix, misspelling, or even infix.
        contexts - contexts to filter the lookup by, or null if all contexts are allowed; if the suggestion contains any of the contexts, it's a match
        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)
        Throws:
        java.io.IOException
      • lookup

        public java.util.List<Lookup.LookupResult> lookup​(java.lang.CharSequence key,
                                                          BooleanQuery contextFilerQuery,
                                                          int num,
                                                          boolean allTermsRequired,
                                                          boolean doHighlight)
                                                   throws java.io.IOException
        Look up a key and return possible completion for this key. This needs to be overridden by all implementing classes as the default implementation just returns null
        Parameters:
        key - the lookup key
        contextFilerQuery - A query for further filtering the result of the key lookup
        num - maximum number of results to return
        allTermsRequired - true is all terms are required
        doHighlight - set to true if key should be highlighted
        Returns:
        a list of suggestions/completions. The default implementation returns null, meaning each @Lookup implementation should override this and provide their own implementation
        Throws:
        java.io.IOException - when IO exception occurs
      • store

        public abstract boolean store​(DataOutput output)
                               throws java.io.IOException
        Persist the constructed lookup data to a directory. Optional operation.
        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 abstract boolean load​(DataInput input)
                              throws java.io.IOException
        Discard current lookup data and load it from a previously saved copy. Optional operation.
        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.