【发布时间】:2019-09-11 15:22:23
【问题描述】:
我的理解是,在 MongoDB 中,常规(而非文本)索引是根据传递给 createIndex() 的参数进行预排序的。例如,db.collection.createIndex({ name: 1 }) 将创建一个按名称升序排列的文档索引。
是否可以使用文本索引来做到这一点?我有一个带有文本索引的大型 MongoDB 集合(数百万个文档)。当我对集合执行文本搜索时,我想按created 日期对结果进行排序......但排序操作总是耗尽内存。我可以设置文本索引,使其按created 日期预先排序(即检索结果后无需执行排序操作)?
【问题讨论】:
-
对不起,我读错了文档,似乎不可能“排序操作无法从文本索引中获取排序顺序,即使是从复合文本索引中也是如此;即排序操作不能使用文本索引中的排序。 ”。显然,在文本索引上排序是 MongoDB 中的一个真正问题,跟踪器 jira.mongodb.org/browse/SERVER-26534 (和 Stack Overflow)上存在多个问题
-
@sheilak 谢谢!如果您将此评论变成答案,我会接受。
标签: mongodb