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

OpenSearch:RDS および PolarDB データソースのフィルター条件

最終更新日:Mar 19, 2026

概要

  • サポートされるフィールドタイプ: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

  • データソースにプライマリテーブルとセガンダリテーブルが存在する場合、両方のテーブルにフィルター条件を適用する必要があります。これにより、セガンダリテーブルが不要なストレージ領域を消費することを防げます。