vestige/crates/vestige-core/src
Jan De Landtsheer 5e411833f5
fix(fts): match multi-word queries as implicit-AND, not adjacent phrase
sanitize_fts5_query wraps queries in quotes, producing FTS5 phrase search
where the words must be adjacent. So "quantum physics" against a doc
containing "quantum entanglement superposition physics" returned no FTS
hit; semantic search hid the issue whenever embeddings were enabled.

Add sanitize_fts5_terms that splits into space-separated terms (FTS5
implicit AND, any order, any position), and use it in:

- keyword_search_with_scores (hybrid-search FTS leg) so multi-word
  queries return docs containing all words regardless of adjacency
- a new SqliteMemoryStore::search_terms inherent method for callers
  that want individual-term matching without the full hybrid pipeline

sanitize_fts5_query stays in place; KeywordSearcher still uses it
(phrase semantics preserved where they were wanted).
2026-04-22 10:52:07 +02:00
..
advanced fix(clippy): Rust 1.95 compatibility — sort_by_key + collapsible_match 2026-04-19 21:11:49 -05:00
codebase fix(clippy): Rust 1.95 compatibility — sort_by_key + collapsible_match 2026-04-19 21:11:49 -05:00
consolidation feat(v2.0.5): Intentional Amnesia — active forgetting via top-down inhibitory control 2026-04-14 17:30:30 -05:00
embeddings feat(v2.0.5): Intentional Amnesia — active forgetting via top-down inhibitory control 2026-04-14 17:30:30 -05:00
fsrs feat(v2.0.5): Intentional Amnesia — active forgetting via top-down inhibitory control 2026-04-14 17:30:30 -05:00
memory feat(v2.0.5): Intentional Amnesia — active forgetting via top-down inhibitory control 2026-04-14 17:30:30 -05:00
neuroscience fix(clippy): Rust 1.95 compatibility — sort_by_key + collapsible_match 2026-04-19 21:11:49 -05:00
search feat(v2.0.5): Intentional Amnesia — active forgetting via top-down inhibitory control 2026-04-14 17:30:30 -05:00
storage fix(fts): match multi-word queries as implicit-AND, not adjacent phrase 2026-04-22 10:52:07 +02:00
fts.rs fix(fts): match multi-word queries as implicit-AND, not adjacent phrase 2026-04-22 10:52:07 +02:00
lib.rs feat(v2.0.5): Intentional Amnesia — active forgetting via top-down inhibitory control 2026-04-14 17:30:30 -05:00