

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用派生源节省存储空间
<a name="serverless-derived-source"></a>

默认情况下， OpenSearch Serverless 将每个摄取的文档存储在包含原始 JSON 文档正文的`_source`字段中，并为各个字段编制索引以供搜索。虽然该`_source`字段不可搜索，但会保留该字段，以便在执行读取请求（例如 get 和 search）时可以返回完整的文档。启用派生源后，S OpenSearch erverless 会跳过存储该`_source`字段，而是根据需要动态重建该字段，例如，在搜索、获取、mget、重新索引或更新操作期间。使用派生源设置可以将存储使用量减少多达 50%。

## 配置
<a name="serverless-derived-source-config"></a>

要为索引配置派生源，请使用以下`index.derived_source.enabled`设置创建索引：

```
PUT my-index1
{
  "settings": {
    "index": {
      "derived_source": {
        "enabled": true
      }
    }
  }
}
```

## 重要注意事项
<a name="serverless-derived-source-considerations"></a>
+ 仅支持某些字段类型。有关支持的字段和限制的列表，请参阅[OpenSearch 文档](https://docs.opensearch.org/latest/mappings/metadata-fields/source/#supported-fields-and-parameters)。如果您使用派生源和不支持的字段创建索引，则索引创建将失败。如果您尝试在启用源代码的派生索引中收录带有不支持的字段的文档，则提取将失败。只有在知道要添加到索引中的字段类型时，才使用此功能。
+ 该设置`index.derived_source.enabled`为静态设置。创建索引后无法更改此值。

## 对查询响应的限制
<a name="serverless-derived-source-limitations"></a>

启用派生源后，它会对查询响应的生成和返回方式施加某些限制。
+ 指定了多种格式的日期字段始终对所有请求的文档使用列表中的第一种格式，无论原始采集的格式如何。
+ Geopoint 值以固定`{"lat": lat_val, "lon": lon_val}`格式返回，可能会失去一些精度。
+ 可以对多值数组进行排序，也可以对关键字字段进行重复数据删除。

有关更多详细信息，请参阅[OpenSearch 博客](https://opensearch.org/blog/save-up-to-2x-on-storage-with-derived-source/)。

## 绩效基准测试
<a name="serverless-derived-source-performance"></a>

根据对nyc\$1taxi数据集的基准测试，与基线相比，派生来源的索引大小减少了58％。


| 指标 | 派生来源 | 
| --- | --- | 
| 缩小索引大小 | 58.3% | 
| 索引吞吐量变化 | 3.7% | 
| 索引 p90 延迟更改 | 6.9% | 
| match-all Query p90 延迟改进 | 19% | 
| 范围查询 p90 延迟改进 | -18.8% | 
| 距离量 p90 Agg 延迟改进 | -7.3% | 

有关更多详细信息，请参阅[OpenSearch 博客](https://opensearch.org/blog/save-up-to-2x-on-storage-with-derived-source/)。