👐 构建搜索查询
你可以使用 $search
聚合管道阶段来构建 Atlas Search 查询。
MongoDB 聚合管道 是 多阶段的“流水线”,可以重塑数据并执行计算。管道可以由一个或多个聚合阶段组成,执行不同的操作,如匹配、分组、排序和输出。有关所有可用阶段的详尽列表,请访问完整的管道操作符列表。
警告
如果你不熟悉聚合管道,你应该从 聚合管道实验室 开始。
在本节中,我们将使用 $search
阶段构建一个聚合管道,该阶段使用你刚刚创建的 Atlas Search 索引执行全文搜索。
在 Atlas UI 中进行聚合
导航到数据库部署的 Collections 选项卡,选择 books
集合,然后从集合详情下的导航栏中导航到 Aggregation 选项卡。
提示
此时 Atlas UI 可能会显得有点拥挤。你也可以使用 Compass 中的聚合管道构建器来获得更好的体验。
点击 Add Stage 按钮,并在 select 输入框中输入 $search。
为 $search
阶段添加以下代码。
{
index: "fulltextsearch",
text: {
query: "cooking",
path: ["title"]
}
}
该阶段使用 "fulltextsearch" 索引。如果索引是 "default",你不需要显式定义索引,但为了 清晰起见,你可以保留它。
text
操作符将在 title
字段中搜索 "cooking"。你应该在右侧看到返回的文档集合。
点击 Add Stage 按钮,向下滚动并选择 $project 作为第 2 阶段。
为 $project
阶段添加以下实现代码来过滤返回的字段。
{
title: 1,
authors: 1,
genres: 1,
pages: 1
}
此时,你应该看到与上一节相似的结果,因为这几乎是相同的查询。