条件过滤

更新时间:
复制为 MD 格式

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

说明

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

字段设置

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

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

    {"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接口

  • 通过控制台新增图片。

    在控制台图片新增页面,通过设置属性参数增加IntAttr、IntAttr2、IntAttr3、IntAttr4、StrAttr、StrAttr2、StrAttr3、StrAttr4等取值。在图片新增页面,填写以下字段:商品ID(如1)、图片名称(如1.jpg)、上传图片图片主体识别开关(开启后选择主体识别方式系统自动识别)、图片类目自定义内容整数型属性(如1000)、字符串属性(如str2345)、整数型属性2(如200)、字符串属性2(如str9999)。填写完成后单击确入按钮提交,成功时返回JSON响应中 code0messagesuccessstatusCode200,并在 picInfo 中返回 categoryIdregion 信息。

字段过滤

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

  • 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"
intAttr = 1000 AND  intAttr2 = 200 AND strAttr = "str2345" AND strAttr2="str9999"
  • 通过API搜索,详情请参见请求参数

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

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

    调用SearchItemRequestsetFilterClause方法来进行设置。

  • 通过控制台搜索。

    根据上述样例设置过滤条件。在图片搜索页签中,搜索类型选择 SearchByPic,上传待搜索图片并开启图片主体识别(主体识别方式为系统自动识别),设置返回结果数为 10、结果起始位置为 0。在过滤条件输入框中填写过滤表达式,例如 intAttr = 1000 AND intAttr2 = 200 AND strAttr = "str2345" AND strAttr2 = "str9999",单击确认。返回结果 JSON 中 docsFound 与 docsReturn 均为 1,匹配记录的字段值(intAttr:1000、intAttr2:200、strAttr:"str2345"、strAttr2:"str9999")与过滤条件一致,说明字段过滤生效。