From e6259be85f76b1095db8983c7b549065ad577c26 Mon Sep 17 00:00:00 2001 From: Aditi Ahuja Date: Thu, 17 Oct 2024 12:52:15 +0530 Subject: [PATCH] updated commentary --- faiss_vector_posting.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/faiss_vector_posting.go b/faiss_vector_posting.go index 1ca0b1f..e6558af 100644 --- a/faiss_vector_posting.go +++ b/faiss_vector_posting.go @@ -428,10 +428,13 @@ func (sb *SegmentBase) InterpretVectorIndex(field string, requiresFiltering bool var selector faiss.Selector var err error - ineligibleVectorIDs := make([]int64, 0, len(vecDocIDMap)- - len(vectorIDsToInclude)) + // If there are more elements to be included than excluded, it + // might be quicker to use an exclusion selector as a filter + // instead of an inclusion selector. if float32(eligibleVecIDsBitmap.GetCardinality())/ float32(len(vecDocIDMap)) > 0.5 { + ineligibleVectorIDs := make([]int64, 0, len(vecDocIDMap)- + len(vectorIDsToInclude)) for docID, vecIDs := range docVecIDMap { for _, vecID := range vecIDs { if !eligibleVecIDsBitmap.Contains(uint32(vecID)) &&