

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# コレクションの作成
<a name="serverless-create"></a>

コンソールまたは を使用して AWS CLI 、サーバーレスコレクションを作成できます。以下のステップは、*検索*コレクションまたは*時系列*コレクションの作成方法について説明します。*ベクトル検索*コレクションを作成するには、「[ベクトル検索コレクションの使用](serverless-vector-search.md)」を参照してください。

**Topics**
+ [コレクションを作成する (コンソール)](serverless-create-console.md)
+ [コレクションを作成する (CLI)](serverless-create-cli.md)

# コレクションを作成する (コンソール)
<a name="serverless-create-console"></a>

このセクションの手順を使用して、 AWS マネジメントコンソールを使用してコレクションを作成します。以下のステップは、*検索*コレクションまたは*時系列*コレクションの作成方法について説明します。*ベクトル検索*コレクションを作成するには、「[ベクトル検索コレクションの使用](serverless-vector-search.md)」を参照してください。

**Topics**
+ [コレクション設定を構成する](#serverless-create-console-step-2)
+ [追加の検索フィールドを設定する](#serverless-create-console-step-3)

## コレクション設定を構成する
<a name="serverless-create-console-step-2"></a>

以下の手順に従って、コレクションに関する情報を設定します。

**コンソールを使用してコレクション設定を構成するには**

1. [https://console.aws.amazon.com/aos/home/](https://console.aws.amazon.com/aos/home/) の Amazon OpenSearch Service コンソールに移動します。

1. 左側のナビゲーションペインで **[Serverless]** (サーバーレス) を展開し、**[Collections]** (コレクション) を選択します。

1. **[Create collection]** (コレクションの作成) を選択します。

1. コレクションの名前と説明を入力します。名前は次の基準を満たしている必要があります。
   + アカウントと に固有である AWS リージョン
   + 小文字の a～z、0～9 の数字、ハイフン (-) のみ含まれる
   + 3～32 文字

1. コレクションタイプを次の中から選択します。
   + **[Time series]** (時系列) – マシン生成の大量の半構造化データの分析に焦点を当てたログ分析セグメント。少なくとも 24 時間のデータはホットインデックスに保存され、残りはウォームストレージに残ります。
   + **[Search]** (検索) – 社内ネットワークのアプリケーションやインターネットに接続するアプリケーションに使用される全文検索。すべての検索データはホットストレージに保存され、クエリの応答時間を短縮できます。
**注記**  
「[コレクション設定を構成する](#serverless-create-console-step-2)」で説明されているように、自動セマンティック検索を有効にする場合は、このオプションを選択します。
   + **[ベクトル検索]** – ベクトルデータ管理を簡素化するベクトル埋め込みのセマンティック検索。機械学習 (ML) 拡張検索エクスペリエンスと、チャットボット、パーソナルアシスタント、不正行為検出などの生成 AI アプリケーションを強化します。

   詳細については、「[コレクションタイプを選択する](serverless-overview.md#serverless-usecase)」を参照してください。

1. **[デプロイタイプ]** で、コレクションの冗長性設定を選択します。デフォルトでは、各コレクションには冗長性があります。つまり、インデックス作成と検索の OpenSearch Compute Units (OCU) はそれぞれ異なるアベイラビリティーゾーンに独自のスタンバイレプリカを持っています。開発とテストの目的で、冗長性を無効にすることを選択できます。これにより、コレクション内の OCU の数を 2 つに減らすことができます。詳細については、「[仕組み](serverless-overview.md#serverless-process)」を参照してください。

1. **[セキュリティ]**で、**[標準作成]** を選択します。

1. **暗号化** では、データを暗号化する AWS KMS キーを選択します。入力したコレクション名が暗号化ポリシーで定義されているパターンと一致する場合、OpenSearch Serverless から通知があります。このマッチングを維持するか、独自の暗号化設定でオーバーライドするかを選択できます。詳細については、「[Amazon OpenSearch Serverless の暗号化](serverless-encryption.md)」を参照してください。

1. **[ネットワークアクセスの設定]** で、コレクションのネットワークアクセスを設定します。
   + **[アクセスタイプ]** で、[パブリック] または [プライベート] を選択します。

     プライベートを選択した場合、コレクションにアクセスできる VPC エンドポイントと AWS のサービス を指定します。
     + **[アクセス用の VPC エンドポイント]** – アクセスを許可する VPC エンドポイントを 1 つ以上指定します。VPC エンドポイントの作成については、「[を介したデータプレーンアクセス AWS PrivateLink](serverless-vpc.md)」を参照してください。
     + **AWS のサービス プライベートアクセス** – アクセスを許可する 1 つ以上のサポートされているサービスを選択します。
   + **[リソースタイプ]** では、ユーザーがコレクションにアクセスできるのは、*OpenSearch* エンドポイント経由か (cURL や Postman などを介して API 呼び出しを行う場合)、あるいは *OpenSearch Dashboards* エンドポイント経由か (ビジュアライゼーションを操作し、コンソールから API 呼び出しを行う場合)、もしくはその両方かを選択します。
**注記**  
AWS のサービス プライベートアクセスは、OpenSearch Dashboards エンドポイントではなく、OpenSearch エンドポイントにのみ適用されます。

   入力したコレクション名がネットワークポリシーで定義されているパターンと一致する場合、OpenSearch Serverless から通知があります。このマッチングを維持するか、カスタムネットワーク設定でオーバーライドするかを選択できます。詳細については、「[Amazon OpenSearch Serverless でのネットワークアクセス](serverless-network.md)」を参照してください。

1. (オプション) コレクションに 1 つまたは複数のタグを追加します。詳細については、「[Amazon OpenSearch Serverless コレクション](tag-collection.md)」を参照してください。

1. **[Next]** (次へ) を選択します。

## 追加の検索フィールドを設定する
<a name="serverless-create-console-step-3"></a>

コレクション作成ワークフローの 2 ページ目に表示されるオプションは、作成しているコレクションのタイプによって異なります。このセクションでは、コレクションタイプごとに追加の検索フィールドを設定する方法について説明します。このセクションでは、自動セマンティックエンリッチメントを設定する方法についても説明します。コレクションタイプに適用されないセクションはスキップします。

**Topics**
+ [自動セマンティックエンリッチメントを設定する](#serverless-create-console-step-3-semantic-enrichment-fields)
+ [時系列検索フィールドを設定する](#serverless-create-console-step-3-time-series-fields)
+ [レキシカル検索フィールドを設定する](#serverless-create-console-step-3-lexical-fields)
+ [ベクトル検索フィールドを設定する](#serverless-create-console-step-3-vector-search-fields)

### 自動セマンティックエンリッチメントを設定する
<a name="serverless-create-console-step-3-semantic-enrichment-fields"></a>

コレクションを作成または編集するときに、自動セマンティックエンリッチメントを設定できます。これにより、Amazon OpenSearch Service でのセマンティック検索の実装と機能が簡素化されます。セマンティック検索は、キーワードマッチングだけでなく、ユーザーの検索のインテントとコンテキストの意味を組み込んだクエリ結果を返します。詳細については、「[Serverless の自動セマンティックエンリッチメント](serverless-semantic-enrichment.md)」を参照してください。

**自動セマンティックエンリッチメントを設定するには**

1. **[インデックス詳細]** セクションの **[インデックス名]** で、名前を指定します。

1. **[自動セマンティックエンリッチメントフィールド]** セクションで、**[セマンティック検索フィールドを追加]** を選択します。

1. **[セマンティックエンリッチメントのフィールド名を入力]** フィールドに、エンリッチメントするフィールドの名前を入力します。

1. **[データ型]** は **[Text]** です。これを変更することはできません。

1. **[言語]** では、**[英語]** または **[多言語]** を選択します。

1. [**Add field (フィールドを追加)**] を選択します。

1. コレクションのオプションフィールドの設定が完了したら、**[次へ]** を選択します。変更を確認し、**[送信]** を選択してコレクションを作成します。

### 時系列検索フィールドを設定する
<a name="serverless-create-console-step-3-time-series-fields"></a>

**[時系列検索フィールド]** セクションのオプションは、時系列データとデータストリームに関連しています。これらのサブジェクトの詳細については「[Data Streams を用いた Amazon OpenSearch Service での時系列データの管理](data-streams.md)」を参照してください。

**時系列検索フィールドを設定するには**

1. **[時系列検索フィールド]** セクションで、**[時系列フィールドを追加]** を選択します。

1. **[フィールド名]** に名前を入力します。

1. **[データ型]** で、リストからデータ型を選択します。

1. **[フィールドを追加]** を選択します。

1. コレクションのオプションフィールドの設定が完了したら、**[次へ]** を選択します。変更を確認し、**[送信]** を選択してコレクションを作成します。

### レキシカル検索フィールドを設定する
<a name="serverless-create-console-step-3-lexical-fields"></a>

レキシカル検索は、検索クエリとインデックス付き用語またはキーワードが完全に一致するものを返します。

**レキシカル検索フィールドを設定するには**

1. **[レキシカル検索フィールド]** セクションで、**[検索フィールドを追加]** を選択します。

1. **[フィールド名]** に名前を入力します。

1. **[データ型]** で、リストからデータ型を選択します。

1. **[フィールドを追加]** を選択します。

1. コレクションのオプションフィールドの設定が完了したら、**[次へ]** を選択します。変更を確認し、**[送信]** を選択してコレクションを作成します。

### ベクトル検索フィールドを設定する
<a name="serverless-create-console-step-3-vector-search-fields"></a>

**ベクトル検索フィールドを設定するには**

1. **[ベクトルフィールド]** セクションで**[ベクトルフィールドの追加]** を選択します。

1. **[フィールド名]** に名前を入力します。

1. **[エンジン]** で、リストからタイプを選択します。

1. ディメンションの数を入力します。

1. **[距離メトリクス]** で、リストからタイプを選択します。

1. コレクションのオプションフィールドの設定が完了したら、**[次へ]** を選択します。

1. 変更を確認し、**[送信]** を選択してコレクションを作成します。

# コレクションを作成する (CLI)
<a name="serverless-create-cli"></a>

このセクションの手順では、 AWS CLIを使用して OpenSearch Serverless コレクションを作成します。

**Topics**
+ [[開始する前に]](#serverless-create-cli-before-you-begin)
+ [コレクションの作成](#serverless-create-cli-creating)
+ [自動セマンティックエンリッチメントインデックスを使用したコレクションの作成](#serverless-create-cli-automatic-semantic-enrichment)

## [開始する前に]
<a name="serverless-create-cli-before-you-begin"></a>

を使用してコレクションを作成する前に AWS CLI、次の手順を使用してコレクションに必要なポリシーを作成します。

**注記**  
以下の各手順でコレクションの名前を指定する場合、その名前は次の基準を満たしている必要があります。  
アカウントと に固有である AWS リージョン
小文字の a～z、0～9 の数字、ハイフン (-) のみ含まれる
3～32 文字

**コレクションに必要なポリシーを作成するには**

1. を開き AWS CLI 、次のコマンドを実行して、コレクションの意図した名前に一致するリソースパターンを持つ[暗号化ポリシー](serverless-encryption.md)を作成します。

   ```
   &aws opensearchserverless create-security-policy \
     --name policy name \
     --type encryption --policy "{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/collection name\"]}],\"AWSOwnedKey\":true}"
   ```

   例えば、コレクションに「*logs-application*」という名前を付ける場合は、次のような暗号化ポリシーを作成します。

   ```
   &aws opensearchserverless create-security-policy \
     --name logs-policy \
     --type encryption --policy "{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/logs-application\"]}],\"AWSOwnedKey\":true}"
   ```

   このポリシーを別のコレクションにも使用する場合は、`collection/logs*` や `collection/*` のようにルールを拡張しておくことができます。

1. 次のコマンドを実行して、[ネットワークポリシー](serverless-network.md)を使用してコレクションのネットワーク設定を行います。ネットワークポリシーは、コレクションを作成した後でも作成できますが、事前に作成することをお勧めします。

   ```
   &aws opensearchserverless create-security-policy \
     --name policy name \
     --type network --policy "[{\"Description\":\"description\",\"Rules\":[{\"ResourceType\":\"dashboard\",\"Resource\":[\"collection\/collection name\"]},{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/collection name\"]}],\"AllowFromPublic\":true}]"
   ```

   例えば前述の「*logs-application*」であれば、以下のネットワークポリシーを作成できます。

   ```
   &aws opensearchserverless create-security-policy \
     --name logs-policy \
     --type network --policy "[{\"Description\":\"Public access for logs collection\",\"Rules\":[{\"ResourceType\":\"dashboard\",\"Resource\":[\"collection\/logs-application\"]},{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/logs-application\"]}],\"AllowFromPublic\":true}]"
   ```

## コレクションの作成
<a name="serverless-create-cli-creating"></a>

次の手順では、[CreateCollection](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateCollection.html) API アクションを使用して、タイプ `SEARCH`または `TIMESERIES` のコレクションを作成します。リクエストでコレクションタイプを指定しない場合、デフォルトは `TIMESERIES` です。これらのタイプの詳細については、「[コレクションタイプを選択する](serverless-overview.md#serverless-usecase)」を参照してください。*ベクトル検索*コレクションを作成するには、「[ベクトル検索コレクションの使用](serverless-vector-search.md)」を参照してください。

コレクションが で暗号化されている場合 AWS 所有のキー、 `kmsKeyArn`は ARN `auto`ではなく です。

**重要**  
コレクション作成後は、データアクセスポリシーと一致しない限りアクセスできません。詳細については、「[Amazon OpenSearch Serverless のデータアクセスコントロール](serverless-data-access.md)」を参照してください。

**コレクションを作成するには**

1. 「[[開始する前に]](#serverless-create-cli-before-you-begin)」で説明されている必須ポリシーを作成できたことを確認します。

1. 以下のコマンドを実行してください。`type` の場合、`SEARCH` または `TIMESERIES` のいずれかを指定します。

   ```
   &aws opensearchserverless create-collection --name "collection name" --type collection type --description "description"
   ```

## 自動セマンティックエンリッチメントインデックスを使用したコレクションの作成
<a name="serverless-create-cli-automatic-semantic-enrichment"></a>

以下の手順を使用して、[自動セマンティックエンリッチメント](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-semantic-enrichment.html)用に設定されたインデックスを持つ新しい OpenSearch Serverless コレクションを作成します。この手順では、OpenSearch Serverless [CreateIndex](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateIndex.html) API アクションを使用します。

**自動セマンティックエンリッチメント用に設定されたインデックスを使用して新しいコレクションを作成するには**

次のコマンドを実行して、コレクションとインデックスを作成します。

```
&aws opensearchserverless create-index \
--region Region ID \
--id collection name --index-name index name \
--index-schema \
'mapping in json'
```

以下に例を示します。

```
&aws opensearchserverless create-index \
--region us-east-1 \
--id conversation_history --index-name conversation_history_index \
--index-schema \ 
'{
    "mappings": {
        "properties": {
            "age": {
                "type": "integer"
            },
            "name": {
                "type": "keyword"
            },
            "user_description": {
                "type": "text"
            },
            "conversation_history": {
                "type": "text",
                "semantic_enrichment": {
                    "status": "ENABLED",
                    // Specifies the sparse tokenizer for processing multi-lingual text
                    "language_option": "MULTI-LINGUAL", 
                    // If embedding_field is provided, the semantic embedding field will be set to the given name rather than original field name + "_embedding"
                    "embedding_field": "conversation_history_user_defined" 
                }
            },
            "book_title": {
                "type": "text",
                "semantic_enrichment": {
                    // No embedding_field is provided, so the semantic embedding field is set to "book_title_embedding"
                    "status": "ENABLED",
                    "language_option": "ENGLISH"
                }
            },
            "abstract": {
                "type": "text",
                "semantic_enrichment": {
                    // If no language_option is provided, it will be set to English.
                    // No embedding_field is provided, so the semantic embedding field is set to "abstract_embedding"
                    "status": "ENABLED" 
                }
            }
        }
    }
}'
```