我有一个搜索网站源代码的网站。但是当DB,获得超过100个站点时,mongodb开始工作得更慢。
这是我的代码:
$arananlar = $db->kaynaklar->find(array("kaynak" => new MongoRegex("/".$kelime."/siU")))->sort(array("_id" => -1))->limit($kactane)->skip($alt);
答案 0 :(得分:2)
加快搜索速度的常用方法是添加索引。但是当您使用正则表达式时,索引无法帮助您。只有当您确切知道搜索内容时,索引才能帮助您。但正则表达式要复杂得多。他们需要阅读每个字符串的全部内容以进行匹配(exception: when the regular expression starts with the start-of-string anchor ^
)。
但是当你不需要正则表达式的全部功能而只需要搜索完整的单词时,you can create a text index and use text search。
如果您想知道某个特定查询是否使用索引,可以使用游标的explain方法。