mongodb - 为什么我在Mongodb3.4文本搜索中无法进行排序操作

标签 mongodb search text

我按照页面中的指南操作 mongo Text Search 但是当我在我的收藏(大约 200 万行)上建立文本索引并尝试搜索一些并按分数排序时,它返回一个错误:

Error: error: {
    "ok" : 0,
    "errmsg" : "Executor error during find command: OperationFailed: Sort operation used more than the maximum 33554432 bytes of RAM. Add an index, or specify a smaller limit.",
    "code" : 96,
    "codeName" : "OperationFailed"
}

最佳答案

根据docs ,如果 mongoDB 无法通过索引扫描获得排序顺序,它将使用一种算法来缓冲查询的前 k 个结果。如果内存占用超过 32 兆字节,查询将失败,这就是您遇到的情况。尝试使用 limit() 限制扫描结果的数量方法。

关于mongodb - 为什么我在Mongodb3.4文本搜索中无法进行排序操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41479625/

相关文章:

Mysql搜索查询匹配字段名

python - 带有生成器的 PyMongo 批量写入操作特性

通过 bson_id 进行 MongoDB 批量查找

arrays - 查找数组中出现奇数次的所有元素

spring - 如何在应用程序中使用JPA的Spring Boot中使用ElasticSearch,我是否必须从表中获取记录并将其放入elasticsearch的索引中?

bash - 循环遍历 CSV 文件并在读取时创建新的 csv 文件?

java - spring-data-mongodb 可选查询参数

c# - Mongo 和 C# 的日期时间问题

c++ - 内存将由空格分隔的 float 文本文件映射到 float vector

swift - TextView 将前两个字符大写而不是一个