MongoDB Atlas搜索-匹配文档的计数缓慢

问题描述

我有一个包含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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...