我在 MongoDB 中创建了一个集合,其中包含11446615文件。
每个文档具有以下形式:
{
"_id" : ObjectId("4e03dec7c3c365f574820835"),
"httpReferer" : "http://www.somewebsite.pl/art.php?id=13321&b=1",
"words" : ["SEX", "DRUGS", "ROCKNROLL", "WHATEVER"],
"howMany" : 3
}
httpReferer: 只是一个网址
words: 从上面的 url 解析出的单词。列表的大小在 15 到 90 之间。
我计划使用这个数据库来获取具有相似内容的网页列表。
我将通过查询这个集合使用words字段,因此我在此字段上创建(或者更确切地说开始创建)索引:
db.my_coll.ensureIndex({words: 1})
我大约 3 小时前开始创建索引,看起来不可能在另外 3 小时内完成。
如何提高索引速度?或者也许我应该使用完全另一种方法来解决这个问题?欢迎任何想法:)
不,对于大型集合来说,索引速度很慢。您也可以在后台创建索引:
db.my_coll.ensureIndex({words:1}, {background:true});
在后台创建索引会比较慢并且会导致索引变大。但是,在索引完成之前它不会被使用,因此在此期间您将能够正常使用数据库并且索引不会阻塞。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)