Skip to content

Implement BM25, Boolean, phrase, prefix, fuzzy, autocomplete, and highlighting queries #12

Description

@kylebernhardy

Outcome

Implement the agreed English full-text query behavior using Tantivy query primitives.

Acceptance criteria

  • Weighted BM25 uses documented defaults and per-field boosts.
  • Term-any, term-all, phrase, bounded prefix/autocomplete, bounded fuzzy, and preview fuzzy-prefix are supported.
  • Structured candidate filters use a score-neutral boosted TermSetQuery.
  • Fuzzy exact preference uses an exact scoring branch plus a lower constant fuzzy branch without double-counting BM25.
  • Positions and surface terms are configurable capabilities.
  • Highlighting/snippets are configurable and disabled by default.
  • Expansion, candidate, clause, deadline, and result-memory ceilings are enforced.
  • Stable score ordering and pagination behavior are covered by fixtures.

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 implementationarea:performanceLatency, throughput, memory, and benchmarks

Type

Fields

Priority

P3

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions