问题描述
我有一个包含1100万条记录的集合,其中除其他属性外,还包含一个带有客户端名称的“ Name”属性:
{
"Name" : "Teressa Bella"
}
我已经在“名称”字段上创建了具有以下定义的Atlas搜索索引:
{
"mappings": {
"dynamic": false,"fields": {
"Name": {
"analyzer": "lucene.standard","type": "string"
}
}
}
}
我的用例对所有符合特定条件的文档进行计数,就像这样:
db.getCollection('recipients').aggregate([
{
$search: {
"text": {
"query": "Teressa","path": "Name"
}
}
},{
$count: "total"
}
])
问题在于,在M30 Atlas集群上,此查询大约需要40秒钟才能完成(我想,如果完全从内存中获取,则有时需要10或20秒钟)。 这是否在与1100万文档匹配的预期执行时间内? 对于我如何优化这种查询的任何建议,我将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)