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

OpenSearch:DataSource

最終更新日:Apr 01, 2026

Open Search アプリケーションにおけるデータソースの構成を指定します。これには、ソースシステムの種類、フィールドマッピング、データ処理プラグイン、および接続パラメーターが含まれます。

{
  "tableName": "news",
  "type": "rds",
  "fields": [
    { "id": "id" },
    { "caption": "caption" },
    { "content": "content" },
    { "categoryId": "category_id" }
  ],
  "plugins": {
    "caption": {
      "name": "HTMLTagRemover",
      "parameters": {}
    },
    "content": {
      "name": "HTMLTagRemover",
      "parameters": {}
    }
  },
  "keyField": "id",
  "parameters": {
    "filter": "",
    "instanceId": "rm-abc",
    "dbName": "my_db",
    "dbTableName": "my_table",
    "dbUser": "my_user",
    "dbPassword": "my-password",
    "autoSync": true
  }
}

構造

フィールド説明
tableNameStringソースシステム内のテーブル名です。
typeStringデータソースの種類です。有効な値は、rdsodpsopensearch、および polardb です。parameters で必須となるフィールドは、この値によって決定されます。
fields[]Objectソーステーブルと送信先テーブル間のフィールドマッピングです。各エントリは {key: value} の形式であり、key はソースフィールド名、value は送信先フィールド名です。
pluginsObjectインデックス作成前に特定のフィールドに適用されるデータ処理プラグインです。各キーは送信先フィールド名であり、各値はPlugin オブジェクトです。
keyFieldStringデータソーステーブルのプライマリキーです。
parametersObjectデータソースの接続および同期パラメーターです。必須フィールドは type の値によって異なります。詳細については、「rds」、「odps」、「opensearch」、および「polardb」をご参照ください。

Plugin

プラグインは、ソースフィールドの値を送信先フィールドにマップする前に処理します。

{
  "name": "HTMLTagRemover",
  "parameters": {}
}

構造

フィールド説明
nameString適用するプラグインです。有効な値は、JsonKeyValueExtractorMultiValueSpliterKeyValueExtractorStringCatenateExtractor、および HTMLTagRemover です。
parametersObjectプラグインの設定です。必須フィールドは name の値によって異なります。下記の各プラグインセクションをご参照ください。

JsonKeyValueExtractor

JSON を含むソースフィールドから指定されたキーの値を抽出し、その抽出値を送信先フィールドに書き込みます。プラグインの各インスタンスでは、1 つのキーのみを抽出できます。

{
  "key": "my_field"
}

構造

フィールド説明
keyStringJSON ソースフィールドから抽出するキーです。

MultiValueSpliter

デリミタを使用してソースフィールドの値を複数の値に分割し、結果として得られた値を配列要素として送信先フィールドに書き込みます。

送信先フィールドは ARRAY 型である必要があります。非表示文字をデリミタとして使用する場合は、Unicode エスケープシーケンス(例:\u001D)で指定してください。

{
  "seperator": "|"
}

構造

フィールド説明
seperatorStringソースフィールドの値を分割する際に使用するデリミタです。

KeyValueExtractor

キーと値のペアを含むソースフィールドから指定されたキーの値を抽出し、その抽出値を送信先フィールドに書き込みます。デリミタの指定は任意です。

{
  "key": "my_field",
  "fieldSep": ";",
  "kvSep": ":"
}

構造

フィールドタイプ説明
keyString値を抽出するキーです。
fieldSepString複数のキーと値のペアを区切るデリミタです。
kvSepStringキーとその値を区切るデリミタです。

StringCatenateExtractor

複数の送信先フィールドの値を指定したコネクタで連結し、結果を単一の文字列としてターゲットフィールドに書き込みます。

このプラグインは整数型のフィールドを連結できません。文字列型のフィールドの使用を推奨します。sources にリストアップされたすべてのフィールドは、送信先フィールドである必要があります。

{
  "connector": "-",
  "sources": "id,title"
}

構造

フィールド説明
connectorString連結されたフィールド値の間に挿入される文字列です。
sourcesString連結対象の送信先フィールド名をカンマで区切ったリストです。

HTMLTagRemover

ソースフィールドの値から HTML タグを除去し、プレーンテキスト形式の結果を送信先フィールドに書き込みます。追加のパラメーターは不要です。

データソースの種類別パラメーター

parameters オブジェクトには、接続および同期設定が含まれます。必須フィールドは type の値によって異なります。

rds

ApsaraDB RDS インスタンスに接続します。

{
  "instanceId": "rds-instance-id",
  "dbName": "my_db",
  "dbTableName": "my_table",
  "dbUser": "my_user",
  "dbPassword": "my_passwd",
  "filter": "",
  "autoSync": true
}

構造

フィールド説明
instanceId文字列RDS インスタンスの ID。
dbName文字列データベースの名前。
dbTableName文字列データベース内のテーブルの名前。
dbUser文字列データベースへの接続に使用されるアカウント。
dbPassword文字列データベースへの接続に使用されるパスワード。
filter文字列同期する行を制限するフィルター条件。 サポートされている演算子:<>=!=>=<=。 複数の条件はカンマ (,) で区切ります。
autoSyncブール値自動データ同期を有効にするかどうかを指定します。 有効な値:truefalse

odps

MaxCompute (ODPS) テーブルに接続します。

{
  "projectName": "my_project",
  "tableName": "my_table",
  "partition": "",
  "done": "no",
  "donePrefix": "",
  "timestamp": ""
}

構造

フィールド説明
projectNameStringMaxCompute プロジェクトの名前。
tableNameStringテーブルの名前。
partitionString読み取り元のパーティション。パーティション構文の詳細については、「MaxCompute データソースの設定」をご参照ください。
doneStringデータのエクスポートが完了したことを通知するために DONE ファイルを使用するかどうかを指定します。有効な値:no および yes
donePrefixStringDONE ファイルのプレフィックス。doneyes に設定されている場合に必須です。
timestampString完全なデータインポートのタイムスタンプ。

opensearch

別の Open Search アプリケーションをデータソースとして使用します。

{
  "appId": "12345678",
  "tableName": "my_table",
  "appType": "standard",
  "filter": ""
}

構造

フィールド説明
appIdStringソース Open Search アプリケーションの ID です。
tableNameStringソースアプリケーション内のテーブル名です。
appTypeStringソースアプリケーションの種類です。有効な値は、standardadvance、および enhanced です。standard は標準アプリケーションを示します。advance は旧世代の高度アプリケーションを示します。enhanced は現世代の高度アプリケーションを示します。新規アプリケーションでは advance の種類は使用できません。
filterString同期対象のレコードを制限するフィルター条件です。サポートされる演算子は、<>=!=>=、および <= です。複数の条件はカンマ (,) で区切ります。

polardb

PolarDB クラスターに接続します。

{
  "clusterId": "my_cluster_id",
  "dbName": "my_db",
  "dbTableName": "my_table",
  "aliyunUserId": "123455789",
  "dbUser": "my_user",
  "dbPassword": "my_passwd",
  "autoSync": true,
  "filter": "id>100"
}

構造

フィールド説明
clusterIdStringPolarDB クラスターの ID です。
dbNameStringデータベース名です。
dbTableNameStringテーブル名です。
aliyunUserIdStringAlibaba Cloud アカウントの ID です。
dbUserStringデータベースへの接続に使用するアカウントです。
dbPasswordStringデータベースへの接続に使用するパスワードです。
autoSyncBoolean自動データ同期を有効にするかどうかを指定します。有効な値は、true および false です。
filterString同期対象の行を制限するフィルター条件です。サポートされる演算子は、<>=!=>=、および <= です。複数の条件はカンマ (,) で区切ります。