2015-11-02 142 views
0

我对此有一个mongodb集合我创建了一个文本索引,以便我可以通过搜索条件搜索其中的内容,并且我在该索引中有5-6个字段。Mongodb条件搜索

搜索运行良好,但我想进一步优化。我怎样才能对我的集合执行条件搜索,这给了我很大的查询优化?

例如,假设我想在查询字符串"apple"上执行搜索,但仅在那些文件中执行搜索"type": {$in: ["electronics","fruits"]}]。这些类型是由代码动态创建的,随着时间的推移会随着数量的增加而增加。

如何在不影响性能的情况下做到这一点?

回答

0

如果您已经定义了正确的索引,并且同时知道您的数据将按照内容增长并根据内容进行移动,那么您应该定期更新数据库统计信息(例如在crontab中)。

+0

你是指什么数据库统计数据?你可以详细说明吗? –

+0

在每个dbms上,都有一个函数来更新数据库的统计信息。它现在会根据您的数据重新计算索引的路径。因此,接下来的查询将更快,因为所有查询都已优化。 – RMS