概要
-
サポートされるフィールドタイプ:TINYINT、SMALLINT、INTEGER、BIGINT、FLOAT、REAL、DOUBLE、NUMERIC、DECIMAL、TIME、TIMESTAMP
-
サポートされる比較演算子:<、>、<=、>=、=、!=、<>。注:=、!=、<> は数値型および文字型フィールドのフィルタリングに使用できます。
-
サポートされる値:NULL またはその他の任意の値
使用例
文字型によるフィルタリング
例: field_string='a' または field_string!='b'。
注:文字値にはシングルクォーテーション(')、ダブルクォーテーション(")のいずれかを使用するか、クォーテーションなしで指定できます。
field = ''
field != ''
field <> ''
field = 'null'
field = 'NULL'
field != 'null'
field != 'NULL'
field <> 'null'
field <> 'NULL'
NULL 値によるフィルタリング
注:これは数値型および文字型の両方のフィールドに適用されます。
# 以下の構文はすべて有効です
field = null
field = NULL
field != null
field != NULL
field <> null
field <> NULL
日付または日時型によるフィルタリング
createtime>'2021-02-05 00:00:00'
複数条件によるフィルタリング
status=1,literal_id='abcd',createtime>'2021-02-05 00:00:00'
注意事項
-
データソースのフィルタリング機能は、RDS および PolarDB データソースで利用できます。
-
フィルター条件には、OpenSearch アプリケーションスキーマのフィールド名ではなく、データベーステーブルのフィールド名を使用する必要があります。
-
フィルター条件がアクティブな場合、条件を満たすレコードのみがプルされます。これはフルデータおよび増分データの両方に適用されます。
例:フィルター条件として status=1 を設定し、RDS 内のドキュメントの status が後から 1 から 2 に変更された場合、そのドキュメントは OpenSearch から削除されます。
-
サポートされる論理演算子は AND のみです。AND 演算子はカンマ(,)で表現します。OR 演算子はサポートされていません。
## SQL ステートメントの WHERE 句: where status=1 and type=2 # OpenSearch データソースフィルターでの構成: where status=1 and type=2 # 不正な構文 status=1 and type=2 # 不正な構文 status=1,type=2 # 正しい構文 -
NULL 値のチェックには、`is null` や `is not null` を使用しないでください。正しい構文については、「NULL 値によるフィルタリング」の例をご参照ください。
-
データベーステーブル内の createtime などの DATE 型または DATETIME 型のフィールドをフィルタリングする場合、フィルター条件の時刻は所定のフォーマットである必要があります。例:
createtime>'2018-03-01 00:00:00'。 -
関数や式などの複雑な操作はサポートされていません。
例:in(type,1,2,3) または length(title)>10
-
`like` および `not like` 演算子はサポートされていません。
例:like '%aaa' または not like '%bbb'
-
恒等式はサポートされていません。
例:1=1
-
データソースにプライマリテーブルとセガンダリテーブルが存在する場合、両方のテーブルにフィルター条件を適用する必要があります。これにより、セガンダリテーブルが不要なストレージ領域を消費することを防げます。