我有一个大数据集(~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"}})
但我发现查询非常慢,我不知道什么时候能得到结果。
有什么不对吗?以及如何加快查询速度? 提前谢谢。
答案 0 :(得分:0)
有几点需要注意:
1.围绕单词canon('" canon"' )不需要单引号和双引号。只是"佳能"应该足够了。
2." taketime "你文件中的钥匙?或者你的意思是约会时间?输入一个不存在的密钥将极大地减慢查询速度,因为它会导致mongodb搜索整个集合