AEM谓词-如何检查属性是否以字符串开头/包含字符串



我正在使用查询生成器在DAM中搜索图像。我用谓词来做那件事。我正在尝试检查元数据dam:MIMEtype属性,以返回从image/开始的所有节点。

我该怎么做?

您可以使用JcrPropertyPredicateEvaluator来实现同样的目的。

假设您在路径/content/dam中搜索dam:MIMEtypeimage/开头的所有dam:Asset,则查询将是

path=/content/dam
type=dam:Asset
property=jcr:content/metadata/dam:MIMEtype
property.value=image/%
property.operation=like
p.limit=-1

相应的XPATH查询将是

/jcr:root/content/dam//element(*, dam:Asset)
[
jcr:like(jcr:content/metadata/@dam:MIMEtype, 'image/%') 
]

您可以尝试在实例的查询调试器(/libs/cq/search/content/querydebug.html)中执行上述查询,并验证结果是否正确。

PredicateEvaluator文档和QueryBuilder API可能会提供更多关于编写查询的见解。

最新更新