#15234: fix(memory): use OR instead of AND in FTS5 query builder
stale
size: XS
`buildFtsQuery` joins tokens with `AND`, so multi-word queries like "meeting budget review" only match if all three words appear in a single chunk. In practice this means most multi-word searches return nothing.
Changed the join to `OR`. BM25 ranking already pushes multi-match results to the top, so recall improves without hurting precision.
Updated tests to match. All 4 hybrid tests pass.
Fixes #15226
Most Similar PRs
#15339: fix: BM25 score normalization and FTS5 query join operator
by echoVic · 2026-02-13
71.9%
#17686: fix(memory): support non-ASCII characters in FTS query tokenization
by Phineas1500 · 2026-02-16
61.8%
#20994: fix(memory): correct bm25RankToScore for negative FTS5 ranks
by qdx · 2026-02-19
61.4%
#14005: fix(memory): bm25RankToScore returns constant 1.0 for all negative ...
by niceysam · 2026-02-11
58.8%
#19945: memory: gracefully disable hybrid keyword search when fts5 unavailable
by nico-hoff · 2026-02-18
58.8%
#19920: fix(memory): populate FTS index in FTS-only mode so search returns ...
by forketyfork · 2026-02-18
56.9%
#19591: fix(memory): probe FTS5 availability instead of relying on IF NOT E...
by ylecoyote · 2026-02-18
53.7%
#21269: feat(memory): add Reciprocal Rank Fusion (RRF) as alternative fusio...
by cedillarack · 2026-02-19
53.3%
#4231: fix(memory): use sqlite-vec knn (MATCH+k) for vector search
by leonardsellem · 2026-01-29
53.0%
#4999: fix(memory-flush): use contextTokens instead of totalTokens for thr...
by Farfadium · 2026-01-30
51.0%