2

我想在特定路径下找到一个名称类似于“%xyz%”的资产。我参考了这个页面“每个 AEM 开发人员都应该知道的 9 个 JCR 查询”

请参阅第 7 点。它清楚地表明我可以使用Name() Like '%xyz%'

方法 1

所以我发起了一个查询

String jcrQuery = "SELECT * FROM [dam:Asset] WHERE NAME() LIKE '%"+conditionalSelectString+"%'";

我去javax.jcr.UnsupportedRepositoryOperationException

方法 2 我发现这个带有 CQ5 的惊人页面可以帮助您构建 JCR-SQL2 查询 http://localhost:4502/crx/explorer/ui/search.jsp

所以在这个的帮助下,我生成了查询

select * from dam:Asset where jcr:path like '/content/dam/pdf/%' and contains(*, '%Slide%') 

当我在 CQ5 的 search.jsp 页面上触发此查询时,这可以正常工作。但是当我尝试在我的包中的一个类中触发这个查询时,我得到一个异常

那么如何触发一个查询,该查询使用类似名称而不是确切名称按名称搜索 DAM 资产。我知道NAME可以用来查找完全匹配的节点。

如何同时使用 name 和 Like ?

4

0 回答 0