MongoDB 索引与搜索
MongoDB 索引与搜索
MongoDB Atlas 提供了一个全文搜索引擎,可用于搜索集合中的文档。
Atlas Search 由 Apache Lucene 提供支持。
创建一个索引
我们将使用 Atlas 面板根据我们在聚合部分加载的样本数据在 "sample_mflix" 数据库上创建索引。
- 在 Atlas 面板中,单击您的集群名称,然后单击 "Search" 搜索选项卡。
- 单击 "Create Search Index" 创建搜索索引按钮。
- 使用 Visual Editor 视觉编辑器,然后单击 "下一步"。
- 命名索引,选择要索引的数据库和集合,然后单击 "下一步"。
- 如果将索引命名为 "default",则不必在
$search
管道阶段指定索引名称。 - 选择 sample_mflix 数据库和电影集合。
- 单击 "Create Search Index" 创建搜索索引,然后等待索引完成。
运行一个搜索
要使用我们的搜索索引,我们将在聚合管道中使用 $search
运算符。
实例
db.movies.aggregate([
{
$search: {
index: "default", // optional unless you named your index something other than "default"
text: {
query: "star wars",
path: "title"
},
},
},
{
$project: {
title: 1,
year: 1,
}
}
])
此聚合管道的第一阶段将返回电影集合中标题字段中包含 "star" 明星或 "wars" 战争一词的所有文档。
第二阶段将投影每个文档的 title
标题和 year
年份字段。