2013-04-05 1 views
0

검색에 나타나지 않도록 일부 페이지를 필터링해야합니다. 이를 위해 이 방법 com.day.cq.wcm.foundation.Search에 존재하지com.day.cq.search.impl.SimpleSearchImpl이 addPredicate() 메소드를 노출합니까?

addPredicate(new Predicate("mytype", "type").set("group.4_group.1_property", "jcr:content/cq:template")); 

불리는 방법이있다. 이 addPredicate 메소드가있는 API가 어떤 것인지 잘 모르겠습니다.

CQ5 문서에서이 방법은 com.day.cq.search.impl.SimpleSearchImpl 패키지에있는 SimpleSearchImpl에 구현되었다고합니다. 그러나 해당 패키지를 가져 오려고하면 패키지가 잘못되었다는 오류가 발생합니다.

addPredicate 메서드의 경우 SimpleSearchImpl이 필수 클래스가 아닌 경우 addPredicate 메서드에 필요한 클래스는 무엇입니까?

답변

2

번들에서 com.day.cq.search.SimpleSearch 인터페이스를 내보내지만 com.day.cq.search.impl.SimpleSearchImpl 구현 클래스는 내보낼 수 없습니다.

http://localhost:4502/system/console/bundles/com.day.cq.cq-search 

당신은 adapting a Resource하여 간편 구현에 대한 참조를 가져 오거나 SCR reference를 사용 할 수 있습니다

당신은 여기 내 보낸 패키지의 목록을 볼 수 있습니다.

Alex Klimetschek는 SimpleSearch 방식의 대안으로 [QueryBuilder API 사용] http://www.slideshare.net/alexkli/cq5-querybuilder-adapttoberlin-2011)에 대한 훌륭한 프레젠테이션을 발표했습니다. 이는 프리디 케이트를 이해하는 데 도움이 될 수 있습니다.

+0

안녕 Diffa, 나는 당신에게 알려줄 것입니다, 감사합니다 – balaji

+0

안녕 Diffa, 맞습니다, 고마워요 – balaji

+0

당신의 질문에 대답한다면 대답을 받아 들여야합니다. – diffa