Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 30s
suggest/suggestN rank indexed terms by edit distance to a (misspelled) query term, alphabetical tiebreak. 234/234. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
43 lines
1.2 KiB
Plaintext
43 lines
1.2 KiB
Plaintext
;; Extension — did-you-mean / spelling suggestion.
|
|
;; Corpus terms (sorted): ample apple apply banana orange
|
|
|
|
(define
|
|
suggest-setup
|
|
"idx = indexDoc 1 \"apple apply ample banana orange\" emptyIndex\n")
|
|
|
|
(define
|
|
suggest-cases
|
|
(list
|
|
(list "suggest exact term" "[suggest \"apple\" idx]" (list "apple"))
|
|
(list
|
|
"suggest misspelled banana"
|
|
"[suggest \"bananna\" idx]"
|
|
(list "banana"))
|
|
(list
|
|
"suggest missing letter orange"
|
|
"[suggest \"orang\" idx]"
|
|
(list "orange"))
|
|
(list "suggest closest apply" "[suggest \"aply\" idx]" (list "apply"))
|
|
(list "suggestN 1 banana" "suggestN 1 \"bananna\" idx" (list "banana"))
|
|
(list
|
|
"suggestN 2 ties alpha"
|
|
"suggestN 2 \"aple\" idx"
|
|
(list "ample" "apple"))
|
|
(list "suggest empty term shortest" "[suggest \"\" idx]" (list "ample"))
|
|
(list "suggest empty index" "[suggest \"apple\" emptyIndex]" (list ""))
|
|
(list "suggestN empty index" "suggestN 1 \"apple\" emptyIndex" (list))))
|
|
|
|
(define
|
|
suggest-results
|
|
(search-batch
|
|
suggest-setup
|
|
(map (fn (c) (nth c 1)) suggest-cases)))
|
|
|
|
(map-indexed
|
|
(fn
|
|
(i c)
|
|
(hk-test (nth c 0) (nth suggest-results i) (nth c 2)))
|
|
suggest-cases)
|
|
|
|
{:fail hk-test-fail :pass hk-test-pass :fails hk-test-fails}
|