Skip to content

Epic: Build the Tantivy Node wrapper and public API #4

Description

@kylebernhardy

Outcome

Implement the storage-independent Tantivy engine, Node-API boundary, TypeScript façade, and standalone native backend for @harperfast/fulltext.

Scope

  • Pin and qualify Tantivy 0.26.1.
  • Define the packed mutation, search, status, error, cancellation, and lifecycle contracts.
  • Keep sustained indexing, merge, commit, and search work off the JavaScript event loop and libuv worker pool.
  • Enforce one IndexWriter per physical index generation while allowing independent indexes to run concurrently.
  • Implement BM25, phrase, prefix/autocomplete, fuzzy, filtering, and optional highlighting behavior.
  • Provide MmapDirectory as the standalone backend and reference oracle.

Completion

The core engine and native backend pass Rust and Node tests and expose the same public behavior expected by the Rocks-backed backend.

Comment generated by kAIle (Codex GPT-5)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:apiPublic Node.js and native APIarea:nativeRust, Tantivy, and Node-API implementationenhancementNew feature or request

Fields

Priority

P3

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions