SymSpell spell checker for Clojure.
SymSpell works by generating delete-only candidates and indexing them, so the searching and fuzzy matching are extremely fast.
This is based on a Java port of the SymSpell spell checker. A few convenient functions are also provided.
(require '[symspell-clj.core :as sp])
(def sc (sp/new-spellchecker))
;; get a suggested corrected string
(sp/get-suggestion sc "Wht")
;;==> "What"
;; can do multiple words
(sp/get-suggestion sc "Wht is tht?")
;;==> "What is that?"
;; also does word segmentation
(sp/get-suggestion sc "whereis th elove hehad dated forImuch of thepast who couqdn'tread in sixtgrade and ins pired him")
;;==> "where is the love he had dated for much of the past who couldn't read in sixth grade and inspired him"
SymSpell is widely used and ported to many languages. This Clojure library is new, but is already used in production at Juji.