基本演算子
Zilliz Cloudは、データを効率的にフィルタリングおよびクエリするための豊富な基本演算子セットを提供します。これらの演算子により、スカラーフィールド、数値計算、論理条件などに基づいて検索条件を絞り込むことができます。これらの演算子の使用方法を理解することは、正確なクエリを構築し、検索の効率を最大化するために重要です。
比較演算子
比較演算子は、等号、不等号、体格に基づいてデータをフィルタリングするために使用されます。数値フィールドとテキストフィールドに適用されます。
サポートされる比較演算子:
-
==
(等しい) -
!=
(等しくない) -
>
(より大きい) -
<
(より少ない) -
>=
(以上または等しい) -
<=
(以下または等しい)
例1: Equal To(==
)でフィルタリングする
ステータスという名前のフィールドがあり、ステータス
が「アクティブ」であるすべてのエンティティを検索したいとします。等号演算子==を使用することができます。
filter = 'status == "active"'
例2: Not Equal To(!=
)でフィルタリングする
「非アクティブ」でない状態
のエンティティを検索するには:
filter = 'status != "inactive"'
例3:より大きい値(>)
でフィルタリングする
大なり30の年齢
を持つすべてのエンティティを見つけたい場合:
filter = 'age > 30'
例4: Less Thanでのフィルタリング
価格が100未満のエンティティを
検索するには:
filter = 'price < 100'
例5:「より大きい」または「等しい」(>=
)でフィルタリングする
4以上のレーティング
を持つすべてのエンティティを見つけたい場合:
filter = 'rating >= 4'
例6: Less ThanまたはEqual Toでフィルタリングする
10%以下のディスカウント
を持つエンティティを検索するには:
filter = 'discount <= 10'
レンジ演算子
範囲演算子は、特定のセットまたは値の範囲に基づいてデータをフィルタリングするのに役立ちます。
対応する範囲演算子:
-
IN
:特定のセットまたは範囲内の値を一致させるために使用されます。 -
LIKE
:パターンに一致するために使用されます(主にテキストフィールド用)。
例1:IN
を使用して複数の値を一致させる
「赤」、「緑」、「青」のいずれかの色
を持つすべての図形を検索したい場合:
filter = 'color in ["red", "green", "blue"]'
これは、値のリストのメンバーシップを確認する場合に便利です。
例2:パターンマッチングにLIKE
を使用する
文字列フィールドでのパターンマッチングには、LIKE
演算子が使用されます。テキスト内の異なる位置にある部分文字列を接頭辞、中置き、または接尾辞として一致させることができます。LIKE
演算子は、%
記号をワイルドカードとして使用し、ゼロを含む任意の数の文字に一致させることができます。
プレフィックスマッチ(始まり)
与えられたパターンで始まる文字列のプレフィックスマッチを実行するには、パターンを先頭に置き、%
を使用してそれに続く任意の文字に一致させることができます。例えば、名前
が「Prod」で始まるすべての製品を検索するには:
filter = 'name LIKE "Prod%"'
これは、「Product A」、「Product B」など、名前が「Prod」で始まる製品に一致します。
接尾辞一致(で終わる)
与えられたパターンで終わる文字列の接尾辞が一致する場合、パターンの先頭に%
記号を配置します。例えば、名前
が「XYZ」で終わるすべての製品を検索するには:
filter = 'name LIKE "%XYZ"'
これは、「ProductXYZ」、「SampleXYZ」など、名前が「XYZ」で終わる製品に一致します。
中置一致(含む)
パターンが文字列のどこにでも現れる中置一致を行うには、パターンの先頭と末尾の両方に%
記号を置くことができます。例えば、名前
に「Pro」という単語が含まれるすべての製品を検索するには:
filter = 'name LIKE "%Pro%"'
これは、"Product"、"ProLine"、"SuperPro"など、名前に部分文字列"Pro"が含まれる製品に一致します。
算術演算子
算術演算子を使用すると、数値フィールドを含む計算に基づいて条件を作成できます。
サポートされる演算子:
-
+
(加算) -
-
(引き算) -
*
(掛け算) -
/
(ディビジョン) -
%
(モジュラス) -
**
(エキスポンシエーション)
例1:モジュラス(%
)を使用する
2で割り切れるID
を持つエンティティを見つけるには:
filter = 'id % 2 == 0'
例2: Exponentiation(**)
を使用する
2の累乗の価格
が大なり1000であるエンティティを見つけるには:
filter = 'price ** 2 > 1000'
論理演算子
論理演算子は、複数の条件をより複雑なフィルター式に結合するために使用されます。これらには、AND
、OR
、NOT
が含まれます。
サポートされる論理演算子:
-
AND
:すべてtrueである必要がある複数の条件を組み合わせます。 -
OR
:少なくとも1つがtrueでなければならない条件を組み合わせます。 -
NOT
:条件を否定します。
例1:AND
を使用して条件を結合する
以下のように、価格
が100で在庫
が50である商品を検索します。
filter = 'price > 100 AND stock > 50'
例2:OR
を使用して条件を結合する
「赤」または「青」のいずれかの色
のすべての製品を検索するには:
filter = 'color == "red" OR color == "blue"'
例3:NOT
を使用して条件を除外する
「緑」以外の色
のすべての製品を検索するには:
filter = 'NOT color == "green"'
JSONとARRAYフィールドで基本演算子を使用するためのヒント
Zilliz Cloudクラスタの基本演算子は汎用性があり、スカラーフィールドに適用できますが、JSONフィールドとARRAYフィールドのキーとインデックスでも効果的に使用できます。
たとえば、product
フィールドにprice
、model
、tags
などの複数のキーが含まれている場合は、常にキーを直接参照します。
filter = 'product["price"] > 1000'
記録された温度の配列の最初の温度が特定の値を超えるレコードを検索するには、次のようにします。
filter = 'history_temperatures[0] > 30'
結論として
Zilliz Cloudは、データのフィルタリングとクエリに柔軟性を与える基本演算子の範囲を提供しています。比較、範囲、算術、論理演算子を組み合わせることで、強力なフィルタ式を作成して、検索結果を絞り込み、必要なデータを効率的に取得できます。