Class SymSpell

  • All Implemented Interfaces:
    java.io.Serializable

    public class SymSpell
    extends java.lang.Object
    implements java.io.Serializable
    See Also:
    Serialized Form
    • Field Detail

      • defaultMaxEditDistance

        private static int defaultMaxEditDistance
      • defaultPrefixLength

        private static int defaultPrefixLength
      • defaultCountThreshold

        private static int defaultCountThreshold
      • defaultInitialCapacity

        private static int defaultInitialCapacity
      • defaultCompactLevel

        private static int defaultCompactLevel
      • initialCapacity

        private int initialCapacity
      • maxDictionaryEditDistance

        private int maxDictionaryEditDistance
      • prefixLength

        private int prefixLength
      • countThreshold

        private long countThreshold
      • compactMask

        private int compactMask
      • maxLength

        private int maxLength
      • deletes

        private java.util.Map<java.lang.Integer,​java.lang.String[]> deletes
      • words

        private java.util.Map<java.lang.String,​java.lang.Long> words
      • belowThresholdWords

        private java.util.Map<java.lang.String,​java.lang.Long> belowThresholdWords
      • N

        private static long N
    • Constructor Detail

      • SymSpell

        public SymSpell​(int initialCapacity,
                        int maxDictionaryEditDistance,
                        int prefixLength,
                        int countThreshold)
    • Method Detail

      • createDictionaryEntry

        public boolean createDictionaryEntry​(java.lang.String key,
                                             long count,
                                             SuggestionStage staging)
      • loadDictionary

        public boolean loadDictionary​(java.lang.String corpus,
                                      int termIndex,
                                      int countIndex)
      • loadDictionary

        public boolean loadDictionary​(java.io.InputStream corpus,
                                      int termIndex,
                                      int countIndex)
      • loadDictionary

        public boolean loadDictionary​(java.io.BufferedReader br,
                                      int termIndex,
                                      int countIndex)
      • createDictionary

        public boolean createDictionary​(java.lang.String corpus)
      • purgeBelowThresholdWords

        public void purgeBelowThresholdWords()
      • lookupCompound

        public java.util.List<SuggestItem> lookupCompound​(java.lang.String input,
                                                          int maxEditDistance)
      • lookupCompound

        public java.util.List<SuggestItem> lookupCompound​(java.lang.String input)
      • deleteInSuggestionPrefix

        private boolean deleteInSuggestionPrefix​(java.lang.String delete,
                                                 int deleteLen,
                                                 java.lang.String suggestion,
                                                 int suggestionLen)
      • parseWords

        private java.lang.String[] parseWords​(java.lang.String text)
      • edits

        private java.util.HashSet<java.lang.String> edits​(java.lang.String word,
                                                          int editDistance,
                                                          java.util.HashSet<java.lang.String> deleteWords)
      • editsPrefix

        private java.util.HashSet<java.lang.String> editsPrefix​(java.lang.String key)
      • getStringHash

        private int getStringHash​(java.lang.String s)
      • wordSegmentation

        public SymSpell.SegmentedSuggestion wordSegmentation​(java.lang.String input,
                                                             int maxEditDistance,
                                                             int maxSegmentationWordLength)