Skip to content

@harperfast/fulltext v0.6.0

Choose a tag to compare

@kylebernhardy kylebernhardy released this 18 Oct 17:06
5178f35

What changed

  • Added searchPage() for ranked full-text, prefix, fuzzy-prefix, and Boolean results beyond the ordinary 10,000-hit window and 100-hit autocomplete limit.
  • Added authenticated continuations tied to the query and retained reader snapshot, exact snapshot totals, bounded page collection, and traversal deadline checks.
  • Documented query and resource limits, reader cleanup, and integration requirements. Existing search() limits remain unchanged.

See Add bounded snapshot traversal for full-text and autocomplete results.

Compatibility and operating considerations

  • Native ABI 9 and query API 4 require matching 0.6.0 facade and native packages. No analyzer or index-data rebuild is required by traversal.
  • Direct Rust SearchRequest values now require traversal and after. Engine::search enforces the checked 10,000-hit ordinary offset window.
  • Keep a dedicated reader open without reloading while traversing its original snapshot. Close it when finished or expired; retained snapshots can keep old index files on disk. Continuations cannot move between handles or processes or survive a restart.
  • Each page scans matching documents again. Bound cumulative work and concurrent readers; deadlines cannot interrupt query construction or every Tantivy operation.
  • Applications remain responsible for current authorization, source-record/version checks, and cursor routing and expiration. Harper integration is separate.

Verification

Local checks passed, including 250 Rust/Node/worker/consumer checks, optimized concurrency tests, traversal qualification, dependency checks, and documentation verification. PR CI passed on Linux x64/arm64, macOS arm64, and Windows x64. The release workflow separately rebuilds and verifies the exact platform packages before npm publication.

Full changelog

Comment generated by kAIle (GPT-6)