创建查询
为要搜索的所有字段创建 Atlas Search 索引后,就可以使用 $search
和 $searchMeta
阶段创建 Atlas Search 查询。
您可以通过执行以下步骤来创建并运行 Atlas Search 查询。
构建 Atlas Search 查询。
选择聚合管道阶段。
选择与待使用的聚合管道阶段对应的标签页:
您可以使用 $search 聚合管道对索引字段执行全文搜索,查找与您的查询相匹配的数据。
{ $search: { "index": "<index-name>", ... } } 您可以使用 $searchMeta 聚合管道阶段来返回有关搜索结果的元数据。
{ $searchMeta: { "index": "<index-name>", ... } } 要了解更多信息,请参阅选择聚合管道阶段。
指定操作符。
选择一个或多个操作符或 collector,对集合执行特定搜索。
{ $search: { "index": "<index-name>", "<operator-name>": { <operator-specifications> }, } } { $searchMeta: { "index": "<index-name>", "<operator-name>"|"<collector-name>": { <operator-specifications>|<collector-specifications> } } } 要了解更多信息,请参阅在 Atlas Search 查询中使用操作符和收集器。
(可选)检索有关您的 Atlas Search 查询的其他信息。
指定一个或多个选项来调整 Atlas Search 查询结果。
{ $search: { "index": "<index-name>", "<operator-name>": { <operator-specifications> }, "highlight": { <highlight-options> } } } 您可以通过以下方式自定义搜索结果:
选项用例(Use Case)修改结果中文档的
score
以确保 Atlas Search 返回相关结果。检索 Atlas Search 返回的每个文档的得分明细。
- 将您的搜索词在其原始上下文中
- 显示为查询结果中的字段。
检索有关 Atlas Search 执行了哪些 Lucene 查询来满足您的查询,以及您的查询在不同执行阶段花费了多少时间的信息和执行统计信息。
根据您为集合定义的 Atlas Search 索引,仅检索存储在
mongot
上的字段,可以更高效地运行 Atlas Search 查询。显示 Atlas Search 查询的结果数量。
按数字、字符串和日期字段以及分数对 Atlas Search 查询结果进行排序。
返回结果数量等元数据以及 Atlas Search 查询。
{ $searchMeta: { "index": "<index-name>", "<operator-name>": { <operator-specifications> }, "count": { <count-options> } } } 要了解更多信息,请参阅定义附加搜索选项。
运行 Atlas Search 查询。
审核 Atlas Search 查询语法,然后使用驱动程序、mongosh
、Compass 或 Search Tester 在您的应用程序中运行查询。
注意
如果 Atlas Search $search
查询遇到问题,请参阅排除 Atlas Search 错误。