Skip to content

Filtered vector search: predicate-aware HNSW traversal, vectorFilter, allowReadRecord (5.2)#580

Merged
kriszyp merged 5 commits into
mainfrom
kris/1241-filtered-vector-search-docs
Jul 15, 2026
Merged

Filtered vector search: predicate-aware HNSW traversal, vectorFilter, allowReadRecord (5.2)#580
kriszyp merged 5 commits into
mainfrom
kris/1241-filtered-vector-search-docs

Conversation

@kriszyp

@kriszyp kriszyp commented Jul 12, 2026

Copy link
Copy Markdown
Member

Documents the filtered vector search feature shipping in 5.2 — companion to HarperFast/harper#1768 (Predicate-aware HNSW traversal: filtered vector search with user-function and RBAC participation).

  • reference/database/schema.md (Vector Indexing): predicate-aware traversal semantics for conditions + vector sort, new vectorFilter function predicate (JS-API only, constraints documented), record-level allowReadRecord RBAC pattern and its scope (query-result filter, not a get() authorization boundary), filterExpansion tuning subsection + parameters-table row.
  • release-notes/v5-lincoln/5.2.md: Querying section entry.

Generated by KrAIs (Claude Opus 4.8).

…orFilter, allowReadRecord, filterExpansion (5.2)

Companion to HarperFast/harper#1768.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
gemini-code-assist[bot]

This comment was marked as resolved.

@github-actions

Copy link
Copy Markdown

🚀 Preview Deployment

Your preview deployment is ready!

🔗 Preview URL: https://preview.harper-documentation.harperfabric.com/pr-580

This preview will update automatically when you push new commits.

@github-actions
github-actions Bot temporarily deployed to pr-580 July 12, 2026 15:27 Inactive
@kriszyp
kriszyp marked this pull request as ready for review July 12, 2026 15:56
@kriszyp
kriszyp requested a review from a team as a code owner July 12, 2026 15:56
…ReadRecord

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@kriszyp
kriszyp requested a review from ldt1996 July 12, 2026 16:59
@github-actions
github-actions Bot temporarily deployed to pr-580 July 12, 2026 17:01 Inactive
@github-actions

Copy link
Copy Markdown

🚀 Preview Deployment

Your preview deployment is ready!

🔗 Preview URL: https://preview.harper-documentation.harperfabric.com/pr-580

This preview will update automatically when you push new commits.

@dawsontoth dawsontoth left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if we could also guide people on when they should choose to structure their data differently. I'm thinking about a single table that has a million records in it, and 50 of them are owned by a single user. That user can search their own records. Is our vector filtering be smart enough to perform the first stage of cutting it down to only what they can access before performing the more intensive comparison operations? What happens if someone is using the REST query strings and tries to do a vector search and limit down the results?

…ride replaces allowReadRecord

Matches the unified model (record-scoped allowRead, #1422 gap 2) that
supersedes the static allowReadRecord hook before 5.2 ships.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🚀 Preview Deployment

Your preview deployment is ready!

🔗 Preview URL: https://preview.harper-documentation.harperfabric.com/pr-580

This preview will update automatically when you push new commits.

…ed allowRead (#1419)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions
github-actions Bot temporarily deployed to pr-580 July 14, 2026 11:40 Inactive
@github-actions

Copy link
Copy Markdown

🚀 Preview Deployment

Your preview deployment is ready!

🔗 Preview URL: https://preview.harper-documentation.harperfabric.com/pr-580

This preview will update automatically when you push new commits.

…tion + subscribe re-auth)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions
github-actions Bot temporarily deployed to pr-580 July 14, 2026 12:39 Inactive
@github-actions

Copy link
Copy Markdown

🚀 Preview Deployment

Your preview deployment is ready!

🔗 Preview URL: https://preview.harper-documentation.harperfabric.com/pr-580

This preview will update automatically when you push new commits.

@kriszyp

kriszyp commented Jul 15, 2026

Copy link
Copy Markdown
Member Author

What happens if someone is using the REST query strings and tries to do a vector search and limit down the results?

You would need to use an indexed field in the query (and it should be smart enough to consider that), but allowRead is imperative JS code that is inherently opaque and can't inform an index selection.

@kriszyp
kriszyp merged commit c5be2f9 into main Jul 15, 2026
7 checks passed
@kriszyp
kriszyp deleted the kris/1241-filtered-vector-search-docs branch July 15, 2026 22:07
@github-actions

Copy link
Copy Markdown

🧹 Preview Cleanup

The preview deployment for this PR has been removed.

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.

2 participants