Image Search では、フィルター条件を使用することで、指定した基準に一致するイメージのみを返すことができます。たとえば、`ownerId` が 1000 であるか、会社名が 'alibaba' であるイメージを返すことが可能です。
フィールド設定
イメージを追加する際に、8 つの属性フィールド (`IntAttr`、`IntAttr2`、`IntAttr3`、`IntAttr4`、`StrAttr`、`StrAttr2`、`StrAttr3`、`StrAttr4`) を設定できます。これらは、検索時にイメージをフィルタリングするための 4 つの整数属性と 4 つの文字列属性で構成されます。Image Search は、イメージを追加するための複数のメソッドをサポートしています。以下の例では、各メソッドでこれらの属性を設定する方法を示します。
-
バッチ操作を使用してイメージを追加します。詳細については、「バッチ操作」をご参照ください。
{"OperationType": "ADD","ProductId": "1000","CategoryId": 0,"IntAttr": 123,"IntAttr2": 135,"StrAttr": "value1","StrAttr2": "value2","IntAttr3": 3,"StrAttr4": "value4","CustomContent": "k1:v1,k2:v2,k3:v3","PicName": "girl_cloth1.jpg"} -
SDK を使用してイメージを追加します。詳細については、「Add API」をご参照ください。
-
コンソールを使用してイメージを追加します。
コンソールの [イメージの追加] ページで、`IntAttr`、`IntAttr2`、`IntAttr3`、`IntAttr4`、`StrAttr`、`StrAttr2`、`StrAttr3`、`StrAttr4` 属性の値を設定できます。このページで、次のフィールドを入力します: [プロダクト ID] (例: 1)、[イメージ名] (例: 1.jpg)、[イメージのアップロード]。[オブジェクト検出] スイッチを有効にし、[オブジェクト検出モード] を [Auto] に設定します。次に、[イメージカテゴリ]、[カスタムコンテンツ]、[整数属性] (例: 1000)、[文字列属性] (例: str2345)、[整数属性 2] (例: 200)、[文字列属性 2] (例: str9999) を指定します。完了したら、[確認] をクリックします。正常な応答では、`code` フィールドが `0`、`message` フィールドが `success`、`statusCode` フィールドが `200` である JSON オブジェクトが返されます。応答には、`picInfo` オブジェクト内の `categoryId` と `region` も含まれます。
フィールドのフィルタリング
検索時に、フィルター条件を指定して結果を絞り込みます。AND または OR 論理演算子を使用して、複数の条件を組み合わせることができます。
-
`int_attr`、`int_attr2`、`int_attr3`、`int_attr4` では、次の演算子がサポートされています:
-
>
-
>=
-
<
-
<=
-
=
-
in
-
not in
-
-
`str_attr`、`str_attr2`、`str_attr3`、`str_attr4` では、次の演算子がサポートされています:
-
=
-
!=
-
in
-
not in
-
例:
int_attr>=100
str_attr!="value1"
int_attr=1000 AND str_attr="value1"
int_attr = 1000 AND int_attr2 = 200 AND str_attr = "str2345" AND str_attr2="str9999"
-
API を使用して検索します。詳細については、「リクエストパラメーター」をご参照ください。
API リクエストの `filter` パラメーターに、目的のフィルター条件を設定します。
-
SDK を使用して検索します。詳細については、「SearchImageByPic API」をご参照ください。
`SearchItemRequest` クラスの `setFilterClause` メソッドを呼び出して、フィルター条件を設定します。
-
コンソールを使用して検索します。
前の例に基づいて [フィルター条件] を設定します。[Image Search] タブで、検索タイプとして [SearchByPic] を選択し、検索するイメージをアップロードして、オブジェクト検出を有効にします (検出モード: [Auto])。結果の数を 10 に、開始位置を 0 に設定します。[フィルター条件] 入力ボックスに、フィルター式 (例:
int_attr = 1000 AND int_attr2 = 200 AND str_attr = "str2345" AND str_attr2 = "str9999") を入力します。[確認] をクリックします。返された JSON 結果で `docsFound` と `docsReturn` の両方が 1 であり、一致したレコードのフィールド値 (`int_attr:1000`、`int_attr2:200`、`str_attr:"str2345"`、`str_attr2:"str9999"`) がフィルター条件と一致する場合、フィールドのフィルタリングが正しく機能していることが確認できます。