2016-04-28 18 views
0

AEMのquerybuilder APIを使用して一般検索を実行しようとしています。私が現在抱えている問題は、querybuilderを使ってページネーションを作成することです。 SearchResultでResultPageクラスをAEMで使用して、getNextPage()にします。私は結果を得ています [email protected]。どのように私はこれをURLに変換するのですか?私はすでにquerybuilderにオフセットと結果の合計を使用していますが、正しい方向に私を置くためのドキュメントはもう見つかりません。AEM querybuilder class return

queryBuilder=resource.getResourceResolver().adaptTo(QueryBuilder.class); 
//creating query based on the Query Description 
Query query=queryBuilder.createQuery(PredicateGroup.create(map),session); 
//Getting and storing the Results 
List Pages1 = searchRes.getResultPages(); 
ResultPage nextpage = searchRes.getNextPage(); 
ResultPage lastpage = searchRes.getPreviousPage(); 
for (Hit hit:searchRes.getHits()){ 

String path1=hit.getPath(); 
String title1=hit.getTitle(); 
String excerpt1=hit.getExcerpt(); 

答えて

1

できません。 ResultPageのオブジェクトには、QueryBuilderから取得した検索結果に関する情報があります。この情報を使用して、独自のページ区切りと検索結果ページを作成することができます。 SearchResultオブジェクトには現在のページの結果のみが含まれているため、ResultPageを使用すると、クエリに使用した設定に基づいて、QueryBuilderからリクエストできる他のすべてのページのインデックスと開始を簡単に取得できます。 :

query.setStart(start); 
query.setHitsPerPage(hitsPerPage); 

しかし、フロントエンドへの接続がない...

+0

説明、オリバーいただきありがとうございます。 jQueryを使用する必要があるかどうか、ページングの設定についてはどうすればよいですか?またはquerybuilderがjspでこれをサポートしていますか? – alstonan25

+0

また、getnextpage()メソッドとURLを取得するメソッドを持つSearch.Resultクラスを使用することもできます。 – alstonan25