条件过滤

在图像搜索服务中进行图片搜索时,您可以通过设置过滤条件,来返回符合过滤条件的图像结果。例如仅返回ownerId为1000的图像结果,或者仅返回公司名称为alibaba的图像结果。

支持版本

2023-01-03之后创建的实例可使用IntAttr、IntAttr2、StrAttr、StrAttr2四个字段。老版本的实例可支持IntAttr和StrAttr两个字段。

说明

如需了解更多产品详情和获取技术支持,请单击在线咨询或通过钉钉群(35035130)联系我们。

字段设置

新增图片时,需要设置IntAttr、IntAttr2、StrAttr、StrAttr2四个字段,分别表示整型字段和字符串类型字段。搜索图片时您可以通过这四个字段进行过滤。图像搜索服务支持多种方式新增图片,下面为您分别展示不同方式新增图片时这四个字段的设置示例。

  • 通过批量操作的方式新增图,详情请参见批量操作

    {"OperationType": "ADD","ProductId": "1000","CategoryId": 0,"IntAttr": 123,"IntAttr2": 135,"StrAttr": "value2","StrAttr": "value1","CustomContent": "k1:v1,k2:v2,k3:v3","PicName": "girl_cloth1.jpg"}
  • 通过SDK新增图片,详情请参见Add接口

  • 通过控制台新增图片。

    在控制台图片新增页面,通过设置红框中的参数增加int_attr、int_attr2、str_attr、str_attr2取值。image

字段过滤

搜索时设置过滤条件来达到过滤的目的。多个条件之间用AND或OR进行连接。

  • int_attr、int_attr2支持如下操作符:

    • >

    • >=

    • <

    • <=

    • =

  • str_attr、str_attr2支持如下操作符:

    • =

    • !=

示例如下:

int_attr>=100
str_attr!="value1"
int_attr=1000 AND str_attr="value1"
intAttr = 1000 AND  intAttr2 = 200 AND strAttr = "str2345" AND strAttr2="str9999"
  • 通过API搜索,详情请参见请求参数

    将API中的filter参数的值设置为上述条件即可。

  • 通过SDK搜索,详情请参见SearchImageByPic接口

    调用SearchItemRequest的setFilterClause方法来进行设置。

  • 通过控制台搜索。

    根据上述样例设置过滤条件

    image