MongoDB 索引和搜索
索引和搜索
MongoDB Atlas 配备了一个全文搜索引擎,可用于搜索集合中的文档。
Atlas Search 由 Apache Lucene 提供支持。
创建索引
我们将使用 Atlas 仪表板在“sample_mflix”数据库上创建一个索引,该数据库包含我们在“聚合介绍”部分中加载的示例数据。
- 在 Atlas 仪表板中,点击您的集群名称,然后点击搜索选项卡。
- 点击创建搜索索引按钮。
- 使用可视化编辑器,然后点击“下一步”。
- 为您的索引命名,选择要索引的数据库和集合,然后点击“下一步”。
- 如果您将索引命名为 "default",则在
$search管道阶段中无需指定索引名称。 - 选择
sample_mflix数据库和movies集合。 - 点击创建搜索索引,然后等待索引完成。
运行查询
为了使用我们的搜索索引,我们将在聚合管道中使用 $search 操作符。
实例
db.movies.aggregate([
{
$search: {
index: "default", // 可选,除非您将索引命名为 "default" 以外的其他名称
text: {
query: "star wars",
path: "title"
},
},
},
{
$project: {
title: 1,
year: 1,
}
}
])
此聚合管道的第一阶段将返回 movies 集合中所有在 title 字段中包含 "star" 或 "wars" 的文档。
第二阶段将从每个文档中投影 title 和 year 字段。