【发布时间】:2014-01-13 06:52:03
【问题描述】:
我有一个 mongodb 数据库,它有以下字段:
{"word":"ipad", "date":20140113, "docid": 324, "score": 98}
这是一个文档日志(大约 1.2 亿)的反向索引。
我的系统中有两种查询: 其中之一是:
db.index.find({"word":"ipad", "date":20140113}).sort({"score":-1})
此查询获取日期为 20140113 的单词“ipad”,并按分数对所有文档进行排序。
另一个查询是:
db.index.find({"word":"ipad", "date":20140113, "docid":324})
要加快这两种查询,我应该建立什么索引?
我应该像这样建立两个索引吗?:
db.index.ensureIndex({"word":1, "date":1, "docid":1}, {"unique":true})
db.index.ensureIndex({"word":1, "date":1, "score":1}
但是我觉得建两个索引要用两个很大的硬盘空间。
那么你有什么好主意吗?
【问题讨论】: