mongodb中的加速多条件查询

时间:2015-06-03 12:43:13

标签: mongodb query-optimization pymongo

我有一个大数据集(~50G),而每个文档的结构如下。

{
   'docid':0x12345,
   'text':'this is a text example',
    'datetime':datetime.datetime(2012,12,1,12,00,00),
}

我想查询与'text'字段中的某些单词匹配的文档以及与时间跨度中的'datetime'匹配的文档。

因此,我为'text'和'datetime'字段创建了索引,并将查询运行为:

db.test.find({"$text":{"$search":"canon"},'datetime': {'$gte': start, '$lt': end}},{"score":{"$meta":"textScore"}})

但我发现查询非常慢,我不知道什么时候能得到结果。

有什么不对吗?以及如何加快查询速度? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

有几点需要注意:

1.围绕单词canon('" canon"' )不需要单引号和双引号。只是"佳能"应该足够了。
2." taketime "你文件中的钥匙?或者你的意思是约会时间?输入一个不存在的密钥将极大地减慢查询速度,因为它会导致mongodb搜索整个集合