すべてのプロダクト
Search
ドキュメントセンター

OpenSearch:OSS データソース

最終更新日:Jun 22, 2026

事前準備

image.png

  1. Object Storage Service (OSS) の有効化

  2. OSS コンソールでのバケットの作成

  3. OSS バケットへのオブジェクトのアップロード

OSS データソースの追加

  1. OpenSearch コンソールにログインし、左上隅から OpenSearch Retrieval Engine Edition を選択し、[インスタンス] ページで対象のインスタンスを見つけ、[操作] 列の [管理] をクリックします。

  2. データソースを設定します。

    左側のナビゲーションウィンドウで、[設定センター] > [データソース] に移動し、[データソースの追加] をクリックします。表示されたパネルで [OSS] を選択し、[データソース名][OSS パス][バケット] を入力してから、[検証] をクリックします。

パラメーター

  • データソース名:データソースのカスタム名です。名前は文字で始まる必要があり、文字、数字、アンダースコア (_) を含めることができます。

  • OSS パス:OSS 内のオブジェクトにアクセスするために使用されるパスです。

  • バケット:OSS バケットの名前です。

説明
  • ディレクトリ名には opensearch を含める必要があり、等号 (=)、アンパサンド (&)、疑問符 (?) などの特殊文字を含めることはできません。そうでない場合、データを読み取ることができません。

  • OSS パスを取得するには、作成したバケットに移動し、[ディレクトリの作成] をクリックして、新しいディレクトリのパスをコピーします。このトピックでは、例として /opensearch_index_data/ を使用します。

  • バケット名を確認するには、OSS コンソールに移動し、作成したバケットを見つけます。

  1. インデックステーブルの作成

    1. OSS データソースを作成した後、[設定センター] > [インデックススキーマ] を選択し、[インデックステーブルの作成] をクリックします。

    2. 設定ページで、カスタムの [インデックステーブル名] を入力し、作成した OSS データソースを選択します。

フィールド設定で、2 つのフィールドを追加します。まず、STRING 型の pk フィールドを追加し、それをプライマリキーとして設定し、その分析メソッドを uniq に設定します。次に、FLOAT 型の embeddings フィールドを追加し、複数値を有効にし、^] をデリミタとして使用し、その分析メソッドを uniq に設定します。インデックス設定で、2 つのインデックスを追加します。pk フィールドを含む PRIMARYKEY64 型の pk インデックスと、pk,embeddings フィールドを含む CUSTOMIZED 型の vector インデックスです。

この例では、pk フィールドと embeddings フィールドが設定されています。サンプルデータについては、「oss_test.txt」をご参照ください。

CMD=add
pk=999000
embeddings=0.00.0039257140.0098142860.0039257140.00
pk=999000
embeddings=0.00.0039257140

インデックススキーマで必須のデータ形式の詳細については、「ファイル形式」セクションをご参照ください。

  1. インデックスの再作成の開始:左側のナビゲーションウィンドウで、[O&M センター] > [O&M 管理] を選択し、[インデックスの再作成] をクリックします。

[インデックスの再作成] パネルで、作成した OSS データソースの [データソース名] を選択します。[データソースタイプ][関連インデックステーブル] を確認します。[タイムスタンプ] を設定し、[OK] をクリックします。インデックスの再作成が完了すると、新しい完全なインデックスバージョンが生成されます。新しいバージョンに切り替えて有効化します。

インデックスの再作成が完了したら、クエリテストを実行できます。

HA ファイル形式

データファイルは UTF-8 でエンコーディングされ、特定の構造に従う必要があります。このセクションでは、標準の入力形式の概要を説明します。

  • 次の例は、standard_sample.data という名前のデータファイルの内容を示しています:

CMD=add^_
PK=12345321^_
url=http://www.aliyun.com/index.html^_
title=Alibaba Cloud Computing Co., Ltd.^_
body=xxxxxx xxx^_
time=3123423421^_
multi_value_field=1234^]324^]342^_
bidwords=mp3^\price=35.8^Ptime=13867236221^]mp4^\price=32.8^Ptime=13867236221^_
^^
CMD=delete^_
PK=12345321^_CMD=add^_
PK=12345321^_
url=http://www.aliyun.com/index.html^_
title=Alibaba Cloud Computing Co., Ltd.^_
body=xxxxxx xxx^_
time=3123423421^_
multi_value_field=1234^]324^]342^_
bidwords=mp3^\price=35.8^Ptime=13867236221^]mp4^\price=32.8^Ptime=13867236221^_
^^
CMD=delete^_
PK=12345321^_

データファイルは、add や delete などのコマンドで構成されます。各コマンドは、キーと値のペアのセットです。コマンドの区切りには ^^\n を、コマンド内のキーと値のペアの区切りには ^_\n を、複数値フィールドの値の区切りには ^] を使用します。

  • ファイルデリミタ

C++ エンコーディング

ASCII

(16進数)

説明

Emacs/vi での表示

Emacs での入力メソッド

vi での入力メソッド

"\x1F\n"

1F0A

キーと値のペアのデリミタ

^_ (改行が続く)

C-q C-7

C-v C-7

"\x1E\n"

1E0A

コマンドデリミタ

^^ (改行が続く)

C-q C-6

C-v C-6

"\x1D"

1D

複数値デリミタ

^]

C-q C-5

C-v C-5

"\x1C"

1C

セクションの重み識別子

^\

C-q C-4

C-v C-4

"\x1D"

1D

複数値項目のデリミタ

^]

C-q C-5

C-v C-5

"\x03"

03

サブドキュメントのフィールドデリミタ

^C

C-q C-c

C-v C-c

  • コマンド形式

    • add コマンドの形式

      add コマンドは、インデックスに新しいコンテンツを追加します。

      add コマンドの最初の行は CMD=add である必要があります。この行の後には、ドキュメントのフィールドが続きます。コマンド内のフィールドの順序は、インデックススキーマ内の順序と一致する必要はありません。ただし、使用されるすべてのフィールドはインデックススキーマで定義されている必要があります。

CMD=add^_
PK=12345321^_
url=http://www.aliyun.com/index.html^_
title=Alibaba Cloud Computing Co., Ltd.^_
body=xxxxxx xxx^_
time=3123423421^_
multi_value_field=1234^]324^]342^_
bidwords=mp3^\price=35.8^Ptime=13867236221^]mp4^\price=32.8^Ptime=13867236221^_
^^CMD=add^_
PK=12345321^_
url=http://www.aliyun.com/index.html^_
title=Alibaba Cloud Computing Co., Ltd.^_
body=xxxxxx xxx^_
time=3123423421^_
multi_value_field=1234^]324^]342^_
bidwords=mp3^\price=35.8^Ptime=13867236221^]mp4^\price=32.8^Ptime=13867236221^_
^^
  • delete コマンドの形式

    delete コマンドは、指定されたドキュメントをインデックスから削除します。

    最初の行は CMD=delete である必要があり、その後にインデックススキーマでプライマリキーとして定義されたフィールドを指定する行が続きます。

    パーティションのハッシュ化に別のフィールドが使用される場合は、そのフィールドも含まれる必要があります。プライマリキーフィールドがパーティションのハッシュ化にも使用される場合は、一度だけ指定すれば十分です。

CMD=delete^_
PK=12345321^_
^^CMD=delete^_
PK=12345321^_
^^

OSS データソースの削除

[データソース] ページで、削除したいデータソースを見つけ、[操作] 列の [削除] をクリックします。

重要

  • この操作は元に戻せません。注意して進めてください。

確認ダイアログボックスが表示されます。[確認] をクリックして続行します。

  • データソースがインデックステーブルに関連付けられている間は、削除できません。データソースを削除する前に、インデックステーブルを削除する必要があります。

注意事項

  • OSS サービスは、ご利用の OpenSearch Retrieval Engine Edition インスタンスと同じリージョンにある必要があります。

  • OpenSearch Retrieval Engine Edition は、Anywhere OSS バケットをサポートしていません。

  • OSS データソースを追加すると、AliyunServiceRoleForSearchEngine という名前のサービスリンクロールが自動的に作成されます。このロールが既に存在する場合、再度作成されることはありません。OpenSearch はこのロールを使用して、他の Alibaba Cloud サービスのリソースにアクセスします。