検索エンジンエディションのドキュメントは、cmd フィールドと fields フィールドで構成されています。ドキュメントをリアルタイムでプッシュするか、MaxCompute から全量データをインポートすることができます。
リアルタイムプッシュのドキュメントフォーマット
[
{
"cmd": "add",
"fields": {
"id": "1",
"title": "This is the title",
"body": "This is the body",
"tags" : [1, 2, 3]
}
},
{
"cmd": "delete",
"fields": {
"id": "3"
}
}
]
各ドキュメントには、cmd と fields の 2 つのフィールドが必要です。
-
cmd:ドキュメントに対して実行する操作。
-
add:ドキュメントを追加します。ドキュメントがすでに存在する場合は、上書きします。
-
delete:ドキュメントを削除します。ドキュメントのプライマリキーを指定する必要があります。インデックスが多階層ハッシュ化を使用している場合は、各階層のプライマリキーも指定する必要があります。
-
-
fields:ドキュメントのフィールド。プライマリキーフィールドを含める必要があります。複数値フィールドは配列で、JsonArray 形式でフォーマットする必要があります。例: [{"fields": { "id": "0","int_array": [14,85],"string_array": ["abc","xyz"]},"cmd": "add"}]
検索エンジンは、データプッシュ用の SDK を提供しています。
全量データのドキュメントフォーマット
検索エンジンは、全量データソースとして MaxCompute のみをサポートしています。スキーマ内のフィールド名は、MaxCompute のフィールド名と一致している必要があります。複数値フィールドの場合は、複数値区切り文字 '\x1D' ('^]') で値を区切ります。MaxCompute データには cmd を指定する必要はありません。全量インポート時にすべてのレコードが add 操作として扱われるためです。
注意事項
-
ドキュメント内で以下の組み込み文字を使用しないでください:
|
コード |
emacs/vi での表示 |
emacs での入力方法 |
vi での入力方法 |
|
"\x1E\n" |
^^ (改行が続く) |
C-q C-6 |
C-v C-6 |
|
"\x1F\n" |
^_ (改行が続く) |
C-q C-7 |
C-v C-7 |
|
"\x1D" |
^] |
C-q C-5 |
C-v C-5 |
|
"\x1C" |
^\ |
C-q C-4 |
C-v C-4 |
|
"\x03" |
^C |
C-q C-c |
C-v C-c |
-
リアルタイムプッシュのデータでは、複数値区切り文字 '\x1D' ('^]') を使用しないでください。
-
TEXT 型のフィールドでは、複数値区切り文字 '\x1D' ('^]') を使用しないでください。