HarperFast / HarperFast/fulltext

Epic: Build the Tantivy Node wrapper and public API

Open
#4 0 comments 0 reactions 1 assignee Claimed by @kylebernhardy View on GitHub
area:api area:native enhancement
Dominant language
Rust
Stars
0
Forks
0
Avg merge
3h 53m
Merged PRs (30d)
18

Description

## Outcome

Implement one native Tantivy engine, Node-API boundary, and TypeScript facade for standalone and Harper use.

## Acceptance criteria

- Pin and qualify Tantivy and persisted formats; MmapDirectory is the only supported datasource.
- Define packed mutation/search/status/error/cancellation/lifecycle contracts with explicit buffer ownership.
- Expose opaque native checkpoint publication/readback using existing engine payload support.
- Keep indexing, merges, commit and search off JavaScript and libuv with bounded native execution.
- One IndexWriter per physical index generation; independent indexes can run concurrently.
- Implement the agreed BM25, Boolean, phrase, prefix/autocomplete, fuzzy, filtering, and optional highlighting contracts.
- Reuse common native engine behavior in Harper; do not add a Harper storage factory or wrapper-owned replay service.

## Design

[Native Tantivy storage and Harper derived indexes](https://github.com/HarperFast/fulltext/blob/codex/native-storage-design/docs/native-storage-integration.md). Native Tantivy files are the only delivery target for standalone use and Harper. Proposed APIs and integration gates are not claims of completed implementation.

Comment generated by kAIle (GPT-6)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.