Busca en el repositorio de índices de metadatos los términos de búsqueda dados. Devuelve datos de recursos como el método searchAssets.
While searchAssetsByMetadata
permite buscar con campos de metadatos definidos por el usuario, estos campos no se devuelven si se especifican en la variable responseMetadataArray
. Para ilustrar este punto, siga el siguiente ejemplo de código:
<ns:responseMetadataArray>
<ns:items>custom_attributes.x</ns:items>
</ns:responseMetadataArray>
devuelve un valor nulo:
<items>
<name>custom_attributes.x</name>
<value>null</value>
</items>
Para solucionar este problema, puede usar la variable fieldHandles
de los recursos que se devuelven desde la búsqueda para ejecutar getAssets
(consulte también getAssets). Este método obtiene los valores Campos definidos por el usuario para los recursos en cuestión. Utilice el siguiente ejemplo de sintaxis para buscar campos de metadatos definidos por el usuario:
<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
Entrada (searchAssetsByMetadataParam)
Nombre | Tipo | Obligatorio | Descripción |
---|---|---|---|
companyHandle |
xsd:string |
Sí |
El identificador de la empresa. |
Filtro |
tipo:SearchFilter |
No |
Filtros que ayudan a definir los criterios de búsqueda. Consulte SearchFilter. |
metadataConditionArray |
type:MetadataConditionArray |
No |
Condiciones que definen criterios de búsqueda. Consulte a continuación para obtener más información. |
responseMetadataArray |
type:StringArray |
No |
Campos adicionales que desea rellenar en la respuesta del resumen del recurso. Los campos deben especificarse en el formato normalizado. |
recordsPerPage |
xsd:int |
No |
Número de recursos devueltos por la respuesta. El valor predeterminado es 1000. |
resultsPage |
xsd:int |
No |
Especifica la página de resultados que se van a devolver, en función de recordsPerPage tamaño de página. |
sortBy |
xsd:string |
No |
Ordenar por campo de recurso seleccionado. |
sortDirection |
xsd:string |
No |
Elección de la dirección. Ascending es el valor predeterminado. |
Salida (searchAssetsByMetadataReturn)
Nombre | Tipo | Obligatorio | Descripción |
---|---|---|---|
totalRows | xsd:int |
No | Número de coincidencias. |
assetArray | types:AssetArray |
No | Matriz de recursos devueltos por la búsqueda. |
Estructura del elemento
metadataConditionArray
la estructura es la siguiente:
<ns1:items>
<ns:fieldHandle>field_handle</ns:fieldHandle>
<ns:op>operator</ns:op>
<ns:value>comparison_value</ns:value>
</ms1:items>
Valores
field_handle
es la clave de búsqueda de metadatos. Puede contener notación de puntos. Los valores posibles incluyen:
asset_id
(sin prefijo)
name
folder_path
type
file_name
description
comment
user_data
sku
modified_at
modified_by
created_at
(igual que modified_at
(Fecha en el formulario: 25 de julio de 2014 24:13:45 GMT-0500 (CDT)
created_by
Operadores permitidos
La variable operator define cómo comparar el valor e incluir:
Equals
NotEquals
Contains
NotContains
StartsWith
EndsWith
La variable comparison_value
es el término que se va a buscar.
Este ejemplo de código realiza una búsqueda con los siguientes criterios de metadatos:
name
el campo contiene 1000801
.
dc.rights
field es igual a Per Jessen Schmidt
.
Solicitar
<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>
Respuesta
<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>