如何解决在 MongoDB 中定义通配符文本索引,包括 _id 字段
我正在尝试在使用通配符的 mongod db 中创建一个 text 索引来索引所有字段。
默认情况下,这不包括 _id
字段。
在常规通配符索引中,我可以使用通配符投影函数来显式包含 _id 字段。
所以当我像这样创建索引时:
db.users.createIndex({"$**":"text"},{name: "fulltext"})
一切都很好,只是不包括_id
通配符投影 (https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/#createindex-method-wildcard-option) 并不像看起来那样用于通配符文本索引,基本上它只是在我使用文本索引时重新调整错误(对于带有通配符的常规索引,它工作得很好,但我需要用于搜索的全文索引)
所以这样的东西是有效的(但当然不会创建text索引)
db.users.createIndex({"$**":1},{"wildcardProjection" : {"_id" : 1} })
这不会创建索引,因为它似乎不支持文本索引:
db.users.createIndex({"$**":"text"},{"wildcardProjection" : {"_id" : 1} })
(错误信息是:“字段 'wildcardProjection' 只允许出现在 'wildcard' 索引中”)
这将创建没有错误的文本索引,但使用此索引进行搜索不会导致与 id 的任何匹配:
db.users.createIndex({"$**":"text","_id":"text"},{name: "fulltext"})
任何想法如何创建包括 _id 字段的通配符文本索引?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。