做向量搜索或 RAG 系统的开发者,这个方案直接解决了过滤后召回率下降的痛点,值得看看 Zilliz 的工程实践。
Zilliz 开发者关系主管在伦敦 Unstructured Data Meetup 上分享了两种在 Zilliz Cloud 中保持过滤向量搜索快速且准确的方法。第一种方法是在过滤时保留图连接性,允许搜索临时遍历被过滤的节点作为中间跳转,避免 HNSW 图形成孤立“岛屿”导致召回率下降。第二种方法针对高选择性过滤器,当过滤后数据子集很小时,先过滤再暴力扫描可能比索引搜索更快。这些技术解决了大规模向量搜索中过滤与速度的平衡问题。
❓ 𝗛𝗼𝘄 𝗱𝗼 𝘆𝗼𝘂 𝗸𝗲𝗲𝗽 𝗳𝗶𝗹𝘁𝗲𝗿𝗲𝗱 𝘃𝗲𝗰𝘁𝗼𝗿 𝘀𝗲𝗮𝗿𝗰𝗵 𝗳𝗮𝘀𝘁 𝗮𝗻𝗱 ...
❓ 𝗛𝗼𝘄 𝗱𝗼 𝘆𝗼𝘂 𝗸𝗲𝗲𝗽 𝗳𝗶𝗹𝘁𝗲𝗿𝗲𝗱 𝘃𝗲𝗰𝘁𝗼𝗿 𝘀𝗲𝗮𝗿𝗰𝗵 𝗳𝗮𝘀𝘁 𝗮𝗻𝗱 𝗮𝗰𝗰𝘂𝗿𝗮𝘁𝗲 𝗮𝘁 𝘀𝗰𝗮𝗹𝗲? @jiangc1010 , Head of Developer Relations at Zilliz, shared two ways Zilliz Cloud handles this problem at Unstructured Data Meetup London last month: • 𝗣𝗿𝗲𝘀𝗲𝗿𝘃𝗲 𝗴𝗿𝗮𝗽𝗵 𝗰𝗼𝗻𝗻𝗲𝗰𝘁𝗶𝘃𝗶𝘁𝘆 𝗱𝘂𝗿𝗶𝗻𝗴 𝗳𝗶𝗹𝘁𝗲𝗿𝗶𝗻𝗴: Instead of restricting traversal only to nodes that satisfy the filter, allow the search to temporarily traverse filtered-out nodes as intermediate hops. This maintains connectivity in the HNSW graph and avoids isolated “islands” that can significantly reduce recall under highly selec milvus.io/blog/how-to-fi… ults still respect the filter criteria. (For a deeper breakdown, see https://t.co/kCYQDe04fD.) • 𝗦𝘄𝗶𝘁𝗰𝗵 𝘀𝘁𝗿𝗮𝘁𝗲𝗴𝗶𝗲𝘀 𝗳𝗼𝗿 𝗵𝗶𝗴𝗵𝗹𝘆 𝘀𝗲𝗹𝗲𝗰𝘁𝗶𝘃𝗲 𝗳𝗶𝗹𝘁𝗲𝗿𝘀: When a filter leaves only a small subset of data, filtering first and running a brute-force scan can be faster than t youtu.be/3mDFw933wdE?ut… dex. 👇 Watch the attached two-minute clip for the key idea. 🎬 Full talk from Unstructured Dat #VectorSearch o #MetadataFiltering 9 #ZillizCloud 👉 Follow Zilliz for vector database and vector lakebase updates built for production AI. #VectorSearch #MetadataFiltering #ZillizCloud Your browser does not support the video tag. 🔗 View on Twitter 💬 0 🔄 0 ❤️ 1 👀 49 ⚡