2

特定のパスの下にある「%xyz%」のような名前のアセットを検索したいと考えています。このページ「すべての AEM 開発者が知っておくべき 9 つの JCR クエリ」を参照しました。

ポイント番号 7 を参照してください。Name() Like '%xyz%'

アプローチ 1

だから私はクエリを発射しました

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

そして私は行きjavax.jcr.UnsupportedRepositoryOperationExceptionます。

アプローチ 2 JCR-SQL2 クエリの作成に役立つ CQ5 を使用したこの素晴らしいページを見つけました 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 ページでこのクエリを起動すると、これは正常に機能します。しかし、バンドル内のクラスでこのクエリを起動しようとすると、例外が発生します

では、正確な名前ではなく、like を使用して名前で DAM アセットを検索するクエリを起動するにはどうすればよいでしょうか。NAMEを使用して、完全に一致するノードを見つけることができることを知っています。

name と Like を一緒に使用するにはどうすればよいですか?

4

0 に答える 0