对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs 菜单

在MongoDB搜索索引中定义存储的源字段

MongoDB 搜索索引中的 storedSource 选项指定 MongoDB 搜索必须存储的源文档中的字段。搜索索引定义您可以配置 storedSource 以提高某些 使用案例 中的查询性能,因为它减少了对后端数据库进行隐式查询时查找的需要。您可以在MongoDB 搜索上存储所有MongoDB 搜索字段类型的字段。

MongoDB Search 不会对存储的字段索引,因此您必须单独对字段索引才能对它们运行查询。您还可以使用 returnStoredSource 选项在查询时检索存储的字段。

注意

storedSource 仅在运行 MongoDB 7.0+ 的集群上可用。

要了解有关检索存储字段的更多信息,请参阅返回存储的源字段。

storedSource选项在索引定义中具有以下语法:

语法
1{
2 "storedSource": true | false | {
3 "include" | "exclude": [
4 "<field-name>",
5 ...
6 ]
7 }
8}

storedSource 选项采用索引定义中的布尔值或对象。

值
说明

true

指定MongoDB Search 必须存储文档中的所有字段。存储完整文档可能会严重影响索引和查询期间的性能。要学习;了解更多信息,请参阅存储源字段。

如果索引定义包含向量类型字段,则不支持此方法。相反,使用 include 指定要在 mongot 上存储的字段,或使用 exclude 从存储中排除 vector 类型字段。

false

指定MongoDB Search 不得存储原始源文档。这是 storedSource 选项的默认值。

storedSource 选项对象必须包含以下字段之一:

字段
类型
说明

include

字符串数组

列表,其中包含要存储的字段名称或以点分隔的字段路径。除指定字段外, MongoDB Search默认下还会存储 _id。

exclude

字符串数组

包含字段名称或点分隔路径的字段列表,这些字段将排除在存储之外。如果指定,MongoDB 搜索会存储原始文档,但排除此处列出的字段。如果索引定义包含向量类型的字段,则必须排除存储中的 vector 类型字段。

以下索引示例使用 sample_mflix.movies集合中的字段来演示如何使用 storedSource 选项配置要存储在MongoDB Search 上的字段。您可以使用 mongosh、 Atlas 用户界面可视化编辑器或Atlas 用户界面 JSON编辑器来配置索引。

给本页内容打分