在大型 mongodb 集合中搜索字符串(540GB / 40 亿个文档)
Searching strings in large mongodb collection (540GB / 4 billion documents)
我有一个非常大的数据库集合,大约 540GB,包含 40 亿个项目。
该项目包含各种元数据,但有一个重要字段 "message",即自由文本。
我希望能够查询它的内容如下:
- 消息包含"error"
- 消息包含"password"
- 消息以"an error occurred"
结尾
什么是最好的索引类型,我该如何创建它?
我也想知道是否有人有示例查询?
我一直在阅读文本索引和通配符文本索引,但不确定哪种最合适。
A text index 很适合这里:
db.mycoll.createIndex({ message: 'text' })
db.mycoll.find({ $text: { $search: 'error' } })
我有一个非常大的数据库集合,大约 540GB,包含 40 亿个项目。
该项目包含各种元数据,但有一个重要字段 "message",即自由文本。
我希望能够查询它的内容如下:
- 消息包含"error"
- 消息包含"password"
- 消息以"an error occurred" 结尾
什么是最好的索引类型,我该如何创建它?
我也想知道是否有人有示例查询?
我一直在阅读文本索引和通配符文本索引,但不确定哪种最合适。
A text index 很适合这里:
db.mycoll.createIndex({ message: 'text' })
db.mycoll.find({ $text: { $search: 'error' } })