David,
I do not know of a published algorithm for this. All it does is in the case of
terms with 0 frequency, it checks the document frequency of the various parts
that can be made from the terms by breaking them and/or by combining adjacent
terms. There are tuning parameters available that le
WordBreakSolrSpellChecker offers suggestions by combining adjacent query
terms and/or breaking terms into multiple words. It is a SpellCheckComponent
enhancement, leveraging Lucene's WordBreakSpellChecker. It can detect
spelling errors resulting from misplaced whitespace without the use of
shingle-