

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用衍生來源儲存儲存體
<a name="serverless-derived-source"></a>

根據預設，OpenSearch Serverless 會將每個擷取的文件存放在 `_source`欄位中，其中包含原始 JSON 文件內文，並為個別欄位編製索引以供搜尋。雖然 `_source` 欄位無法搜尋，但會保留，以便在執行擷取請求時傳回完整文件，例如取得和搜尋。啟用衍生來源時，OpenSearch Serverless 會略過儲存`_source`欄位，而是隨需動態重建欄位，例如在搜尋、get、mget、reindex 或更新操作期間。使用衍生來源設定可將儲存體用量減少高達 50%。

## Configuration
<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% | 
| 全部符合查詢 p90 延遲改善 | 19% | 
| 範圍查詢 p90 延遲改善 | -18.8% | 
| 距離量 p90 Agg 延遲改善 | -7.3% | 

如需詳細資訊，請參閱 [OpenSearch 部落格](https://opensearch.org/blog/save-up-to-2x-on-storage-with-derived-source/)。