加速mongodb中的多条件查询
Posted
技术标签:
【中文标题】加速mongodb中的多条件查询【英文标题】:speedup multiple condition query in mongodb 【发布时间】:2015-06-03 12:43:13 【问题描述】:我有一个大数据集(~50G),每个文档的结构如下。
'docid':0x12345,
'text':'this is a text example',
'datetime':datetime.datetime(2012,12,1,12,00,00),
我想查询与“文本”字段中的某些单词和时间跨度中的“日期时间”匹配的文档。
所以我为“文本”和“日期时间”字段创建索引,并将查询运行为:
db.test.find("$text":"$search":"canon",'datetime': '$gte': start, '$lt': end,"score":"$meta":"textScore")
但是我发现查询非常非常慢,不知道什么时候可以得到结果。
有什么问题吗?以及如何加快查询速度? 提前致谢。
【问题讨论】:
【参考方案1】:有几点需要注意: 1. 您不需要在单词 canon ('"canon"') 两边同时加上单引号和双引号。只需“佳能”就足够了。 2. "takentime" 是您文档中的关键吗?还是您的意思是日期时间?输入一个不存在的键会大大降低查询速度,因为它会导致 mongodb 搜索整个集合
【讨论】:
是的,它们是我的问题中的一些错别字。感谢您的细心。 不客气。 MongoDB 可能很棘手,因为当您在字段名称中有错字时它不会出错以上是关于加速mongodb中的多条件查询的主要内容,如果未能解决你的问题,请参考以下文章