教程 mongodb tutorial

文本索引与全文搜索

MongoDB 提供文本索引功能,用于对字符串字段建立索引,支持全文搜索,提高文本检索效率。

创建文本索引

使用 createIndex() 方法为字段创建文本索引:

js
db.articles.createIndex({ content: "text" })

`

  • 可以对多个字段创建复合文本索引:
js
db.articles.createIndex({ title: "text", content: "text" })

使用全文搜索

通过 $text 查询操作符执行全文搜索:

js
db.articles.find({ $text: { $search: "MongoDB tutorial" } })
  • 支持逻辑运算符如 AND、OR,使用引号精确匹配。

排序与得分

查询结果会带有匹配度评分(textScore),可以用来排序:

js
db.articles.find(
  { $text: { $search: "MongoDB tutorial" } },
  { score: { $meta: "textScore" } }
).sort({ score: { $meta: "textScore" } })

注意事项

  • 只支持一种文本索引,每个集合只能有一个文本索引。
  • 支持的语言会影响分词效果,默认是英语。
  • 适用于对文本字段的全文内容搜索。

通过文本索引和全文搜索,MongoDB 能高效处理大规模文本数据的检索需求。