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

OpenSearch:OSSデータソース

最終更新日:Dec 28, 2024

OSSを有効にする

image.png

  1. オブジェクトストレージサービス (OSS) を有効にする.

  2. OSSコンソールでバケットを作成する.

  3. OSSバケットにオブジェクトをアップロードする.

OSSデータソースを設定する

  1. OpenSearchコンソールにログオンします。左上隅で、OpenSearch Retrieval Engine Edition を選択します。[インスタンス] ページで、管理するインスタンスを見つけ、[アクション] 列の [管理] をクリックします。

  2. 左側のペインで、構成センター > データソースを選択します。[データソース] ページで、データソースを追加をクリックします。[データソースを追加] パネルで、[データソースの種類] パラメーターを OSS に設定し、データソース名OSSパス、および バケット パラメーターを設定します。次に、検証をクリックします。

パラメーター:

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

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

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

説明
  • 指定されたOSSパスには opensearch が含まれている必要があり、等号 (=)、アンパサンド (&)、疑問符 (?) などの特殊文字を含めることはできません。そうしないと、データを読み取ることができません。

  • OSSパスを作成するには、次の操作を実行します。OSSコンソールの [バケット] ページに移動し、バケットリストで作成されたOSSバケットの名前をクリックし、[ディレクトリの作成] をクリックします。[ディレクトリの作成] パネルで、[ディレクトリ名] パラメーターを設定します。この例では、/opensearch_index_data/ が作成されます。

image.png

  • 作成されたOSSバケットの名前を取得するには、次の操作を実行します。OSSコンソールの [バケット] ページに移動し、[バケット名] 列でバケット名を確認します。

image.png

  1. インデックステーブルを作成する

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

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

この例では、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管理を選択します。[O&M管理] ページで、再インデックスをクリックします。[再インデックス] パネルで、パラメーターを設定してOSSデータソースの再インデックスをトリガーします。

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

インデックス作成用のデータファイル

ファイルはインデックス作成のデータソースとして機能します。ファイルは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である必要があり、その後にドキュメントのフィールドが続きます。フィールドの順序は、インデックススキーマのフィールドの順序と同じにすることができます。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コマンドは、インデックススキーマからデータを削除するために使用されます。

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

    ハッシュパーティションに使用されるフィールドが続きます。2つのフィールドが同じ場合は、1つのフィールドのみを指定する必要があります。

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

OSSデータソースを削除する

データソースページで、削除するデータソースを見つけ、アクション列の削除をクリックします。

:

  • データソースを削除すると、復元できません。慎重に行ってください。

  • 削除するOSSデータソースのインデックステーブルが作成されている場合は、OSSデータソースを削除する前に、インデックステーブルを削除する必要があります。

使用上の注意

  • 購入したOpenSearch Retrieval Engine Editionインスタンスと同じリージョンでOSSを有効にする必要があります。

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

  • OSSデータソースを設定すると、システムはAliyunServiceRoleForSearchEngineという名前のサービスリンクロールを自動的に作成します。サービスリンクロールがすでに存在する場合は、システムは別のロールを作成しません。OpenSearchはこのロールを使用してクラウド リソースにアクセスし、関連機能を実装します。