2016-10-14 4 views
1

以下はCMISでのクエリです。CMISを使用してalfrescoリポジトリから100以上のレコードを取得する方法

クエリ=選択* CMISから:ドキュメント

しかし、それは唯一の最初の100件の結果を返します。実際にはリポジトリには100以上の結果があります。

どのようにして同じ結果を得ることができますか?

私は助けてくださいCMIS Code--

コード=

public ArrayList<JSONObject> search() { 
    ItemIterable<QueryResult> results =null;  
    StringBuilder sb=null; 
    sb = new StringBuilder(); 

    sb.append("select * from hr:hrdoctype"); 
    CMISSession1 s=new CMISSession1();   
    Session session=s.getSession(); 

    // execute query 
    results = session.query(sb.toString(), false); 

    ArrayList<JSONObject> list=new ArrayList<>(); 

    for (QueryResult qr : results) { 

     GregorianCalendar gc = (GregorianCalendar) qr.getPropertyValueById("cmis:creationDate");   


     try{ 

     int month = gc.getTime().getMonth(); 
     - 
     - 
     - 


     } 
     catch(org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException e) 
     { 

     } 


     } 

     -------------  
     list.add(json); 
    } 

    return list; 

} 

の下に書いています。

ありがとうございました。

+1

は、あなたが使用しているコードを提供することができますか? –

+0

@Florinan Mullerなぜコードを見たいのですか?私はコードが必要だとは思わない。私はその質問を提供しました。 Alfrescoの共有ノードブラウザで同じクエリを実行すると、最初に100件の結果が得られます。一度それをチェックしてください。ありがとう.......... –

+0

あなたはどのようにクエリを呼び出す必要がありますか?たとえば、OpenCMISを使用していて、独自のOperationContextを提供していない場合、100ヒットのバッチを取得します。 –

答えて

5

OpenCMISの観点からは、問題はありません。 ただし、バッチサイズ変更する必要があり、パフォーマンス上の理由:

OperationContext oc = session.createOperationContext(); 
oc.setMaxItemsPerPage(10000); // batch size, default = 100 
results = session.query(sb.toString(), false, oc); 

をも、このスレッドを参照してください:https://community.alfresco.com/thread/206836-alfresco-cmis-query-returning-only-100-results

+0

ありがとうフロリアン、その作業:) –

関連する問題