gpt4 book ai didi

ruby-on-rails - 在 MongoDB 上实现自动完成

转载 作者:IT老高 更新时间:2023-10-28 13:11:32 26 4
gpt4 key购买 nike

假设我有一组用户,并希望对这些用户的用户名实现自动完成。我查看了 mongodb 文档,而 $regex 似乎是一种方法。有没有更好的办法?更好是指更高性能/更好的实践。

最佳答案

正如@Thilo 所建议的,您可以使用多种想法,包括前缀。

最重要的是有非常快速的请求(因为你希望自动完成感觉瞬间)。所以你必须使用能够正确使用索引的查询。

使用正则表达式:使用 /^prefix/ (重要的是 ^ 指定行首,这是使查询使用索引所必需的)。

范围查询也不错:{ $gt : 'jhc', $lt: 'jhd' } }

更复杂但更快:您可以将前缀树存储在 mongo(又名尝试)中,条目如下:

 {usrPrefix : "anna", compl : ["annaconda", "annabelle", "annather"]}
{usrPrefix : "ann", compl : ["anne", "annaconda", "annabelle", "annather"]}

最后一个解决方案非常快(当然,如果索引在 compl 上),但根本不节省空间。您知道自己也可以选择权衡取舍。

关于ruby-on-rails - 在 MongoDB 上实现自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8223841/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com