Skip to content

Releases: vedicreader/adhara

v0.1.2

Choose a tag to compare

@Karthik777 Karthik777 released this 25 Oct 08:47
  • adhara.path() falls back to the extension module's __spec__.origin when the module has no __file__. A py2app bundle, such as the Leela app, imports the extension that way. Before, adhara.load() raised AttributeError there, and litesearch searched in Python.

Full Changelog: v0.1.1...v0.1.2

v0.1.1

Choose a tag to compare

@Karthik777 Karthik777 released this 25 Oct 05:22
  • A filter is checked one window of candidates at a time, with the candidates looked up by rowid (VALUES with CROSS 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=0 and 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

v0.1.0

Choose a tag to compare

@Karthik777 Karthik777 released this 25 Oct 03:10

The first release of adhara, the SQLite core of litesearch.

  • porter adhara, an FTS5 tokenizer with the tokens of litesearch's chain porter simplify casefold 1 sanskrit unicodewords.
  • adhara_hybrid(store, q, qvec, k, filter, dtype, metric, ann), a full-text search, a vector search and Reciprocal Rank Fusion in one SQL call. It returns the rows of litesearch's search in the same order.
  • Python: pip install adhara, then adhara.load(conn) on an apsw or sqlite3 connection.
  • Swift: .package(url: "https://github.com/vedicreader/adhara", from: "0.1.0"). The package downloads AdharaCore.xcframework.zip from this release. It runs on macOS 13 and later, on Apple silicon and Intel, and reads stores that litesearch built in Python.

RESULTS.md has the measurements.

Full Changelog: https://github.com/vedicreader/adhara/commits/v0.1.0