Skip to content

fix(memory): remove provider model filter from FTS keyword search#856

Open
BingqingLyu wants to merge 1 commit into
mainfrom
fork-pr-48328-fix-issue-48300-memory-search-hybrid-fts-upstream
Open

fix(memory): remove provider model filter from FTS keyword search#856
BingqingLyu wants to merge 1 commit into
mainfrom
fork-pr-48328-fix-issue-48300-memory-search-hybrid-fts-upstream

Conversation

@BingqingLyu

@BingqingLyu BingqingLyu commented Apr 27, 2026

Copy link
Copy Markdown
Owner

Summary

  • Fixes Bug: memory_search hybrid mode not returning FTS matches openclaw/openclaw#48300 where hybrid memory search could incorrectly drop FTS keyword matches after the embedding provider/model changed.
  • Removes the provider/model filter from the FTS keyword query so keyword matches are returned regardless of indexing history.
  • Adds focused regression coverage to ensure FTS results remain visible across embedding model changes.

Change Type

  • Bug fix

Scope

  • Memory search

User-visible / Behavior Changes

  • memory_search hybrid mode now returns FTS keyword matches even when those chunks were indexed under a different embedding provider/model.
  • Exact keyword hits are no longer hidden just because the current embedding model differs from the model recorded when the chunk was indexed.

Test plan

  • node $(find /home/qdy/.openclaw/workspace/_upstream_openclaw/node_modules/.pnpm -path */node_modules/vitest/vitest.mjs | head -n1) run --config vitest.unit.config.ts src/memory/manager-search.test.ts

FTS search should always return all keyword matches regardless of
provider/model. The provider model is only used for vector embeddings
in hybrid mode. Filtering by model would exclude relevant hits from
previous indexing sessions that used different embedding providers/models.

Participants: openclaw#48300
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: memory_search hybrid mode not returning FTS matches

2 participants