首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用单独名称空间的ANN性能

使用单独名称空间的ANN性能
EN

Stack Overflow用户
提问于 2022-06-09 20:39:17
回答 1查看 88关注 0票数 3

我正在尝试执行ANN,但是我的数据被分割成分区或“租户”。搜索总是仅限于单个租户,这只占文档总数的一小部分。

我首先尝试使用租户字符串属性上的筛选器来实现这一点。但是,我遇到了这份文件,这意味着性能会很差:

然而,这里有一个小问题。如果资格列表相对于图表中的项目数较小,则跳过的概率很高。这意味着,该算法需要考虑一个指数增长的候选人数,大大减缓搜索速度。为了解决这个问题,当发生这种情况时,Vespa.ai切换到一个蛮力搜索。该算法与滤波器相结合,是一种高效的人工神经网络搜索方法。

解决我的问题最好的方法是什么?将我的数据分割成单独的命名空间会触发每个名称空间创建一个单独的HNSW图吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-09 21:48:35

性能会很好,查询规划者只会选择不使用ANN索引来进行这些查询。在这篇博文中,你会发现很多关于这个主题的细节,包括如何调优这个话题:https://blog.vespa.ai/constrained-approximate-nearest-neighbor-search/

如果您的所有查询都是针对单个租户(占文档总数的一小部分),我认为您根本不需要创建HNSW索引,但这取决于绝对数字和最大的“小百分比”。

(名称空间在这里不相关--它们的唯一目的是安全地向ids中添加一个字符串,这样您就可以拥有多个ids源,并且仍然可以保证全局唯一性。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72566416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档