Repository navigation
v0.1.1
- A filter is checked one window of candidates at a time, with the candidates looked up by rowid (
VALUESwithCROSS JOIN). A filter with an indexed subquery, such as vishalakshi's document-kind filter, no longer costs a scan of the rows it selects for each window. - A window over 1/128 of the rows (at least 1,024) reads every passing rowid once and checks the rest in memory.
- The HNSW index file is read the first time a search uses it, not each time the vectors are read. litesearch passes
ann=0and never reads it.
| one query, 181,290-chunk vault, k = 30 | litesearch scan | adhara 0.1.0 | adhara 0.1.1 |
|---|---|---|---|
| one document kind (6,727 rows pass) | 3.9 ms | 12.9 ms | 7.3 to 7.7 ms |
| three document kinds (78,710 rows pass) | 44.8 ms | 2.8 ms | 3.0 to 3.3 ms |
page <= 2 (125,107 rows pass) |
82.5 ms | 4.7 ms | 3.0 to 3.1 ms |
Swift: .package(url: "https://github.com/vedicreader/adhara", from: "0.1.1") downloads AdharaCore.xcframework.zip from this release.
Full Changelog: v0.1.0...v0.1.1