gpt4 book ai didi

php - MongoDB 搜索 - 自动完成

转载 作者:行者123 更新时间:2023-11-30 22:44:13 24 4
gpt4 key购买 nike

我们目前正在 MySQL 上运行我们的应用程序,并计划迁移到 MongoDB。我们已经移动了一些部分,但在 MongoRegex 性能方面存在问题。

我们有一个自动完成搜索框,它连接 6 个表(索引/非索引字段)并在 mysql 上超快地返回结果。同样的事情在 MongoDB 上执行起来真的很慢。仅一次收集就需要大约 2.3 秒。用户必须等待很长时间。连接时间为 0.064 秒。查询时间 2.36 秒。我做了一些谷歌搜索,但找不到完美的答案。每个人都说 MongoRegex 很慢。如果这是真的,其他公司是如何克服这个问题的?

在 MongoDB 上运行时提高自动完成性能/体验的最佳方法是什么?

最佳答案

首先,您必须仔细设计查询。仔细选择正确索引的字段并进行相应的设计。此外,如果您使用的是正则表达式,请确保以强制查询使用索引字段的方式编写正则表达式。像/^prefix/这样的东西就可以了。 [请参阅此链接:http://docs.mongodb.org/manual/reference/operator/query/regex/#index-use ]

我见过许多使用 mongodb 范围查询的实现,但我不确定那是否是最好的,因为即时结果是关键。

除此之外,我还看到有人推荐前缀树。它有效地将前缀存储在一个字段中,然后将所有以该特定前缀开头的单词作为数组存储在下一个字段中。这个解决方案听起来很有说服力而且速度很快,因为前缀字段应该被索引,但您还必须考虑存储因素。

关于php - MongoDB 搜索 - 自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30138706/

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