Skip to content

MB-65473: [BP] Refactor and Optimize Pre-Filtered Vector Search (#317)#320

Merged
abhinavdangeti merged 1 commit intov16-trinity-couchbasefrom
preFilterBP
Apr 7, 2025
Merged

MB-65473: [BP] Refactor and Optimize Pre-Filtered Vector Search (#317)#320
abhinavdangeti merged 1 commit intov16-trinity-couchbasefrom
preFilterBP

Conversation

@CascadingRadium
Copy link
Member

  • Refactor pre-filtered vector search to enhance performance and reduce memory footprint.
  • Replace the current bitmap-based cluster selection mechanism with a simpler approach that uses the DirectMap in the IVF index. The IVF index's DirectMap directly maps the vector ID to the cluster it belongs to.
  • Make github.com/bits-and-blooms/bitset a direct dependency of zapx and upgrade it to
    the latest version
  • Requires MB-65473: Refactor and Optimize Pre-Filtered Vector Search go-faiss#41

- Refactor pre-filtered vector search to enhance performance and reduce
memory footprint.
- Replace the current bitmap-based cluster selection mechanism with a
simpler approach that uses the DirectMap in the IVF index. The IVF
index's DirectMap directly maps the vector ID to the cluster it belongs
to.
- Make `github.com/bits-and-blooms/bitset` a direct dependency of `zapx`
and upgrade it to
  the latest version
- Requires blevesearch/go-faiss#41

---------

Co-authored-by: Abhinav Dangeti <abhinav@couchbase.com>
@abhinavdangeti abhinavdangeti merged commit e967896 into v16-trinity-couchbase Apr 7, 2025
6 checks passed
@abhinavdangeti abhinavdangeti deleted the preFilterBP branch April 7, 2025 17:10
@abhinavdangeti
Copy link
Member

Dammit, should've merged the index_api commits and updated go.mod first, let's raise a separate PR for the go.mod updates

abhinavdangeti added a commit to blevesearch/bleve that referenced this pull request Apr 8, 2025
… (#2175)

- Refactor pre-filtered vector search to enhance performance and reduce
memory footprint.
- Replace the current bitmap-based approach for calculating segment
local document numbers with a more direct method, where the local
document numbers are mapped directly to the segment ID during the
execution of the eligible collector.
- Requires:
    - blevesearch/bleve_index_api#67
    - blevesearch/zapx#320
    - blevesearch/go-faiss#41
    - blevesearch/faiss#49

---------

---------

Co-authored-by: Abhinav Dangeti <abhinav@couchbase.com>
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