Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 31s
prefixTerms matches indexed terms by prefix (allTerms + isPrefixOf); prefixDocs unions their docs; prefixRankTfIdf ranks via the matched terms. 136/136. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
64 lines
1.7 KiB
Plaintext
64 lines
1.7 KiB
Plaintext
;; Extension — prefix / wildcard queries.
|
|
;; Corpus: 1 "alpha alpine" 2 "beta apple" 3 "banana alpha"
|
|
;; allTerms sorted: alpha alpine apple banana beta
|
|
|
|
(define
|
|
prefix-setup
|
|
"idx = indexDoc 3 \"banana alpha\" (indexDoc 2 \"beta apple\" (indexDoc 1 \"alpha alpine\" emptyIndex))\n")
|
|
|
|
(define
|
|
prefix-cases
|
|
(list
|
|
(list
|
|
"prefix terms two matches"
|
|
"prefixTerms \"al\" idx"
|
|
(list "alpha" "alpine"))
|
|
(list
|
|
"prefix terms narrower"
|
|
"prefixTerms \"alp\" idx"
|
|
(list "alpha" "alpine"))
|
|
(list
|
|
"prefix terms wide"
|
|
"prefixTerms \"a\" idx"
|
|
(list "alpha" "alpine" "apple"))
|
|
(list "prefix terms single" "prefixTerms \"ban\" idx" (list "banana"))
|
|
(list "prefix terms exact term" "prefixTerms \"beta\" idx" (list "beta"))
|
|
(list "prefix terms none" "prefixTerms \"z\" idx" (list))
|
|
(list
|
|
"prefix docs union"
|
|
"prefixDocs \"al\" idx"
|
|
(list 1 3))
|
|
(list "prefix docs single term" "prefixDocs \"ban\" idx" (list 3))
|
|
(list
|
|
"prefix docs wide"
|
|
"prefixDocs \"a\" idx"
|
|
(list 1 2 3))
|
|
(list "prefix docs none" "prefixDocs \"z\" idx" (list))
|
|
(list
|
|
"prefix docs exact"
|
|
"prefixDocs \"alpha\" idx"
|
|
(list 1 3))
|
|
(list
|
|
"prefix rank ranks by matched terms"
|
|
"prefixRankTfIdf \"al\" idx"
|
|
(list 1 3))
|
|
(list
|
|
"prefix rank single doc"
|
|
"prefixRankTfIdf \"ban\" idx"
|
|
(list 3))
|
|
(list "prefix rank empty" "prefixRankTfIdf \"z\" idx" (list))))
|
|
|
|
(define
|
|
prefix-results
|
|
(search-batch
|
|
prefix-setup
|
|
(map (fn (c) (nth c 1)) prefix-cases)))
|
|
|
|
(map-indexed
|
|
(fn
|
|
(i c)
|
|
(hk-test (nth c 0) (nth prefix-results i) (nth c 2)))
|
|
prefix-cases)
|
|
|
|
{:fail hk-test-fail :pass hk-test-pass :fails hk-test-fails}
|