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
字段。