searchAssetsByMetadata

搜索给定搜索词的元数据索引存储库。 返回资产数据,如searchAssets方法。

虽然searchAssetsByMetadata允许您针对用户定义的元数据字段进行搜索,但如果这些字段在responseMetadataArray中指定,则不会返回这些字段。 为了说明这一点,请参见以下代码示例:

<ns:responseMetadataArray>
 <ns:items>custom_attributes.x</ns:items>
</ns:responseMetadataArray>

返回null值:

<items>
 <name>custom_attributes.x</name>
 <value>null</value>
</items>

要解决此问题,您可以使用搜索返回的资产的fieldHandles来运行getAssets(另请参阅getAssets)。 此方法将获取相关资产的用户定义字段值。 使用以下语法示例搜索用户定义的元数据字段:

<ns:metadataConditionArray>
 <ns:items>
  <ns:fieldHandle>custom_attributes.[UDF Field Name]</ns:fieldHandle>
  <ns:op>[Conditional]</ns:op>
  <ns:value>[Value]</ns:value>
 </ns:items>
</ns:metadataConditionArray>

授权用户类型

  • IpsUser
  • IpsAdmin
  • IpsCompanyAdmin
  • ImagePortalAdmin
  • ImagePortalUser
  • ImagePortalContrib
  • ImagePortalContribUser

参数

输入(searchAssetsByMetadataParam)

名称 类型 必需 说明

companyHandle

xsd:string

公司的把手。

过滤器

type:SearchFilter

可帮助您定义搜索条件的过滤器。

请参阅 SearchFilter

metadataConditionArray

type:MetadataConditionArray

定义搜索条件的条件。 请参阅下文以了解其他信息。

responseMetadataArray

type:StringArray

要在资产摘要的响应中填充的其他字段。 字段必须以标准化格式指定。

recordsPerPage

xsd:int

响应返回的资产数量。 預設值為 1000。

resultsPage

xsd:int

根据 recordsPerPage页面大小指定要返回的结果页。

sortBy

xsd:string

按选定资产字段排序。

sortDirection

xsd:string

排序方向的选择。 默认为升序。

输出(searchAssetsByMetadataReturn)

名称 类型 必需 说明
*totalRows* xsd:int 匹配数。
*assetArray* types:AssetArray 搜索返回的资产数组。

metadataConditionArray详细信息

项目结构

metadataConditionArray 结构如下:

<ns1:items>
   <ns:fieldHandle>field_handle</ns:fieldHandle>
   <ns:op>operator</ns:op>
   <ns:value>comparison_value</ns:value>
</ms1:items>

field_handle 是元数据搜索键。它可以包含点表示法。 可能的值包括:

  • asset_id (无前缀)

  • name

  • folder_path

  • type

  • file_name

  • description

  • comment

  • user_data

  • sku

  • modified_at

  • modified_by

  • created_at (与相同( modified_at 格式为日期):星期五2014年7月25日22:13: 45 GMT-0500(CDT)

  • created_by

允许的运算符

operator定义如何比较值,包括:

  • Equals
  • NotEquals
  • Contains
  • NotContains
  • StartsWith
  • EndsWith

comparison_value是要搜索的术语。

示例

此代码示例使用以下元数据条件执行搜索:

  • name 字段中 1000801

  • dc.rights 字段等于 Per Jessen Schmidt

请求

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.scene7.com/IpsApi/xsd"
xmlns:ns="http://www.scene7.com/IpsApi/xsd/2010-01-31">
   <soapenv:Header>
      <xsd:authHeader>
          <xsd:user>user@adobe.com</xsd:user>
          <xsd:password>topSecret</xsd:password>
      </xsd:authHeader>
   </soapenv:Header>
   <soapenv:Body>
      <ns:searchAssetsByMetadataParam>
         <ns:companyHandle>c|656</ns:companyHandle>
         <ns:metadataConditionArray>
            <ns:items>
               <ns:fieldHandle>name</ns:fieldHandle>
               <ns:op>Contains</ns:op>
               <ns:value>1000801</ns:value>
            </ns:items>
            <ns:items>
               <ns:fieldHandle>dc.rights</ns:fieldHandle>
               <ns:op>Equals</ns:op>
               <ns:value>Per Jessen Schmidt</ns:value>
            </ns:items>
         </ns:metadataConditionArray>
         <ns:responseMetadataArray>
            <ns:items>dc.subject</ns:items>
            <ns:items>xmp.CreatorTool</ns:items>
         </ns:responseMetadataArray>
      </ns:searchAssetsByMetadataParam>
   </soapenv:Body>
</soapenv:Envelope>

响应

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <searchAssetsByMetadataReturn xmlns="http://www.scene7.com/IpsApi/xsd/2010-01-31">
         <totalRows>1</totalRows>
         <assetSummaryArray>
            <items>
               <assetHandle>a|885289</assetHandle>
               <type>Image</type>
               <name>test9-1000801</name>
               <folder>Extroscope/Test subfolders/</folder>
               <filename>test9-1000801.jpg</filename>
               <created>2009-11-19T07:21:24.252-08:00</created>
               <createUser>pschmidt@adobe.com</createUser>
               <lastModified>2009-11-19T07:21:25.487-08:00</lastModified>
               <lastModifyUser>pschmidt@adobe.com</lastModifyUser>
               <metadataArray>
                  <items>
                     <name>dc.subject</name>
                     <value>[San Fransico, USA</value>
                  </items>
                  <items>
                     <name>xmp.CreatorTool</name>
                     <value>Ver.1.0</value>
                  </items>
               </metadataArray>
            </items>
         </assetSummaryArray>
      </searchAssetsByMetadataReturn>
   </soapenv:Body>
</soapenv:Envelope>

在此页面上