文本索引与全文搜索
MongoDB 提供文本索引功能,用于对字符串字段建立索引,支持全文搜索,提高文本检索效率。
创建文本索引
使用 createIndex() 方法为字段创建文本索引:
db.articles.createIndex({ content: "text" })
`
- 可以对多个字段创建复合文本索引:
db.articles.createIndex({ title: "text", content: "text" })
使用全文搜索
通过 $text 查询操作符执行全文搜索:
db.articles.find({ $text: { $search: "MongoDB tutorial" } })
- 支持逻辑运算符如
AND、OR,使用引号精确匹配。
排序与得分
查询结果会带有匹配度评分(textScore),可以用来排序:
db.articles.find(
{ $text: { $search: "MongoDB tutorial" } },
{ score: { $meta: "textScore" } }
).sort({ score: { $meta: "textScore" } })
注意事项
- 只支持一种文本索引,每个集合只能有一个文本索引。
- 支持的语言会影响分词效果,默认是英语。
- 适用于对文本字段的全文内容搜索。
通过文本索引和全文搜索,MongoDB 能高效处理大规模文本数据的检索需求。
相关内容
- 什么是 MongoDB? MongoDB 是一种基于文档的 NoSQL 数据库,使用 BSON 格式存储数据,具有灵活的架构设计,适合海量数据、高并发应用,支持丰富查询与水平扩展。
- MongoDB 与关系型数据库的区别 MongoDB 与关系型数据库在数据模型、扩展性、灵活性和查询方式上存在显著差异,分别适用于不同类型的应用场景和业务需求。
- 使用场景与优势 MongoDB 以其灵活的数据模型、高性能和强大的扩展能力,广泛应用于现代互联网、移动应用、大数据分析等多种场景,具有显著优势。
- 安装 MongoDB(Windows / macOS / Linux / Docker) 本章节详细介绍在 Windows、macOS、Linux 和 Docker 环境下安装 MongoDB 的具体步骤,帮助用户快速搭建数据库环境。
- 使用 MongoDB Compass 和 MongoDB Shell 本章节介绍如何使用 MongoDB 官方的图形化管理工具 Compass 和命令行工具 MongoDB Shell,帮助用户高效管理和操作数据库。
- 数据库与集合的概念 本章节介绍 MongoDB 中数据库和集合的基本概念,帮助理解其数据组织结构及管理方式。