HarperFast / HarperFast/fulltext

Ship native full-text search for Harper v5.3

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

Description

## Outcome

Deliver an Apache-2.0 native Tantivy wrapper and integrate it with Harper's shared derived-index runtime. Every node indexes its locally committed authoritative records into its own native files.

## Acceptance criteria

- Use the same native factory and engine for standalone Node.js and Harper; no hosted Directory, /harper storage provider, /rocks backend, or rocksdb-js dependency.
- Reuse local files and replay from the committed checkpoint on restart; rebuild missing, corrupt, incompatible, or unresumable state.
- Index locally accepted source and replicated mutations through Harper's existing runner; qualify initial replica copy separately. Do not replicate Tantivy files or node-local cursors.
- Fresh replicas and restores rebuild before serving full-text queries. Authoritative records and schema suffice for backup; no index snapshot transfer is required initially.
- Complete the agreed English/BM25/Boolean/phrase/prefix/fuzzy/autocomplete and configurable highlighting/synonym contracts through Table.search and REST.
- Bound aggregate native resources across indexes, and qualify replay, handoff, lifecycle, security, and catalog-scale p99 below 50 ms on an agreed workload.
- Retain comparable benchmark results in GitHub across releases; ship supported platform packages, README/API/operations docs, examples, and Apache-2.0 metadata.

## 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.