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

OpenSearch:OpenSearch 高性能版のアプリケーションスキーマ

最終更新日:Dec 28, 2024

背景情報

OpenSearch にアップロードするデータは、まずオフラインデータテーブルに保存されます。データのアップロードを容易にするために、OpenSearch では、ビジネス要件に基づいて複数のフィールドを持つデータテーブルを作成し、データ処理プラグインを提供することができます。複数のデータテーブルを作成する場合は、テーブルの結合に使用するフィールドを指定する必要があります。複数のデータテーブルのデータが処理された後、テーブルが結合されてインデックステーブルが形成されます。インデックステーブルは検索属性を定義し、検索エンジンがインデックスを構築してデータを検索するために使用できます。

データテーブルのフィールド

データテーブルを使用して、OpenSearch にデータをインポートできます。各データ処理プラグインは、特定のタイプのフィールドのみを処理できます。フィールド値の制限の詳細については、「制限」トピックの「フィールドの制限」セクションを参照してください (制限)。フィールド値が指定された値の範囲内にない場合、オーバーフローエラーが発生するか、値が切り捨てられます。正しいフィールドタイプを選択する必要があります。

フィールドタイプ

説明

INT

64 ビット整数。

INT_ARRAY

64 ビット整数配列。

FLOAT

浮動小数点数。

FLOAT_ARRAY

浮動小数点数配列。

DOUBLE

浮動小数点数。

DOUBLE_ARRAY

浮動小数点数配列。

LITERAL

完全一致のみをサポートする文字列定数。

LITERAL_ARRAY

文字列定数配列。文字列定数配列の単一の要素は、完全一致のみをサポートします。

SHORT_TEXT

短いテキスト。このタイプの値は、長さが 100 バイトを超えることはできません。このタイプのフィールドは、複数の分析方法をサポートしています。

TEXT

長いテキスト。このタイプのフィールドは、複数の分析方法をサポートしています。

TIMESTAMP

64 ビット符号なし整数。このタイプのフィールドは、タイムスタンプを示します。

GEO_POINT

文字列定数。このタイプのフィールドは、「緯度値 経度値」形式の緯度と経度のペアを示します。

予約フィールドに関する注意事項:

  • 次のフィールド名は予約されているため、独自のフィールドの名前として使用できません: service_id、ops_app_name、inter_timestamp、index_name、pk、ops_version、ha_reserved_timestamp、summary。

配列タイプのフィールドに関する注意事項:

  • アプリケーションで配列タイプのフィールドを作成した後、そのフィールドをデータソースの VARCHAR または STRING タイプのフィールドにマッピングできます。さらに、データ処理プラグインを使用してフィールドを処理することもできます。詳細については、データ処理プラグインの使用 を参照してください。

  • OpenSearch API または OpenSearch SDK を使用して配列タイプのフィールドをアップロードする場合は、フィールドを文字列ではなく配列としてアップロードします。例: String[] literal_array = {"Alibaba Cloud","OpenSearch"};

タイムスタンプタイプのフィールドに関する注意事項:

  • INT タイプと TIMESTAMP タイプのフィールドは、データソースの DATETIME タイプまたは TIMESTAMP タイプのフィールドにマッピングできます。フィールド値はミリ秒数に自動的に変換されます。範囲関数を使用して、時間範囲で検索結果を取得できます。詳細については、範囲検索 を参照してください。

サポートされているデータソースのフィールドタイプ

データソース

サポートされているフィールドタイプ

ApsaraDB RDS

TINYINT、SMALLINT、INTEGER、BIGINT、FLOAT、REAL、DOUBLE、NUMERIC、DECIMAL、TIME、DATE、TIMESTAMP、VARCHAR

PolarDB

TINYINT、SMALLINT、INTEGER、BIGINT、FLOAT、REAL、DOUBLE、NUMERIC、DECIMAL、TIME、DATE、TIMESTAMP、VARCHAR

MaxCompute

BIGINT、DOUBLE、BOOLEAN、DATETIME、STRING、DECIMAL、MAP、ARRAY、TINYINT、SMALLINT、INT、FLOAT、CHAR、VARCHAR、DATE、TIMESTAMP、BINARY、INTERVAL_DAY_TIME、INTERVAL_YEAR_MONTH、STRUCT

OpenSearch のフィールドタイプとデータソースのフィールドタイプのマッピング

OpenSearch のフィールドタイプ

ApsaraDB RDS のフィールドタイプ

PolarDB のフィールドタイプ

MaxCompute のフィールドタイプ

INT

BIGINT、TINYINT、SMALLINT、INTEGER

BIGINT、TINYINT、SMALLINT、INTEGER

BIGINT、TINYINT、SMALLINT、INT

INT_ARRAY

VARCHAR や STRING などの文字列型。このフィールドタイプは、データ処理プラグイン MultiValueSpliter を使用して変換する必要があります。

VARCHAR や STRING などの文字列型。このフィールドタイプは、データ処理プラグイン MultiValueSpliter を使用して変換する必要があります。

VARCHAR や STRING などの文字列型。このフィールドタイプは、データ処理プラグイン MultiValueSpliter を使用して変換する必要があります。

FLOAT

FLOAT、NUMERIC、DECIMAL

FLOAT、NUMERIC、DECIMAL

FLOAT、DECIMAL

FLOAT_ARRAY

VARCHAR や STRING などの文字列型。このフィールドタイプは、データ処理プラグイン MultiValueSpliter を使用して変換する必要があります。

VARCHAR や STRING などの文字列型。このフィールドタイプは、データ処理プラグイン MultiValueSpliter を使用して変換する必要があります。

VARCHAR や STRING などの文字列型。このフィールドタイプは、データ処理プラグイン MultiValueSpliter を使用して変換する必要があります。

DOUBLE

DOUBLE、NUMERIC、DECIMAL

DOUBLE、NUMERIC、DECIMAL

DOUBLE、DECIMAL

DOUBLE_ARRAY

VARCHAR などの文字列型。このフィールドタイプは、データ処理プラグイン MultiValueSpliter を使用して変換する必要があります。

VARCHAR などの文字列型。このフィールドタイプは、データ処理プラグイン MultiValueSpliter を使用して変換する必要があります。

VARCHAR や STRING などの文字列型。このフィールドタイプは、データ処理プラグイン MultiValueSpliter を使用して変換する必要があります。

LITERAL

VARCHAR などの文字列型。

VARCHAR などの文字列型。

VARCHAR や STRING などの文字列型。

LITERAL_ARRAY

VARCHAR などの文字列型。このフィールドタイプは、データ処理プラグイン MultiValueSpliter を使用して変換する必要があります。

VARCHAR などの文字列型。このフィールドタイプは、データ処理プラグイン MultiValueSpliter を使用して変換する必要があります。

VARCHAR や STRING などの文字列型。このフィールドタイプは、データ処理プラグイン MultiValueSpliter を使用して変換する必要があります。

SHORT_TEXT

VARCHAR などの文字列型。

VARCHAR などの文字列型。

VARCHAR や STRING などの文字列型。

TEXT

VARCHAR などの文字列型。

VARCHAR などの文字列型。

VARCHAR や STRING などの文字列型。

TIMESTAMP

DATETIME、TIMESTAMP

DATETIME、TIMESTAMP

DATETIME、TIMESTAMP

GEO_POINT

VARCHAR などの文字列型。

VARCHAR などの文字列型。

経度 緯度 の形式の VARCHAR や STRING などの文字列。経度は経度を、緯度は緯度を指定します。経度と緯度の値はどちらも DOUBLE 型で、スペース文字で区切られています。経度パラメータの有効な値: [-180, 180]。緯度パラメータの有効な値: [-90,90]。

使用上の注意

  • データソースのフィールドが FLOAT 型または DOUBLE 型の場合、フィールド型を DECIMAL に変更することをお勧めします。そうしないと、データの精度が損なわれる可能性があります。

アプリケーションスキーマの作成

OpenSearch では、次のいずれかの方法でアプリケーションスキーマを作成できます。

  1. データソースを設定します。詳細については、ApsaraDB RDS for MySQL データソースの設定MaxCompute データソースの設定PolarDB for MySQL データソースの設定 を参照してください。

  2. アプリケーションスキーマを手動で作成します。

  3. テンプレートを使用します。詳細については、アプリケーションの移行 を参照してください。

  4. ファイルをアップロードします。詳細については、ファイルをアップロードしてアプリケーションスキーマを作成する を参照してください。