2016-12-06 5 views
0

持つノードが(それがnullではない)特定の子の関連付けを持っているすべてのドキュメントを返すように見つけます。(Luceneの、FTS-屋外や...)私は、クエリを探しています特定の子会

いくつかのコンテキスト:タイプabc:document ドキュメントは、子会合abc:linkedDocumentを持っています。 すべてのドキュメントにリンクされている他のドキュメントはありません。一部のドキュメントには1つまたは複数のドキュメントがありません。

私は彼らに連結された少なくとも1つの文書を持っているすべての文書の概要を取得するための迅速かつ簡単な方法を必要としています。

は現在、私は何が必要ありませんwebscriptを持っていますが、ビジネス関連ではありませんwebscriptsのトンを持ってしたくありません。

コード:

 SearchParameters sp = new SearchParameters(); 
     String query = "TYPE:\"abc:document\""; 
     StoreRef store = StoreRef.STORE_REF_WORKSPACE_SPACESSTORE; 
     sp.addStore(store); 
     sp.setLanguage(SearchService.LANGUAGE_FTS_ALFRESCO); 
     sp.setQuery(query); 

     ResultSet rs = services.getSearchService().query(sp); 
     List<NodeRef> nodeRefs = rs.getNodeRefs(); 
     for (NodeRef ref : nodeRefs) { 
      List<ChildAssociationRef> refs = services.getNodeService().getChildAssocs(ref); 
      for(ChildAssociationRef chref : refs){ 
      if(chref.getQName().equals(AbcModel.ASSOC_LINKED_DOC)){ 
       logger.debug("Document with linked doc: {}", ref); 
       break; 
      } 
     } 
     } 

答えて

3

協会照会可能なをされていないあなたは何をしているかを行う必要がありますので、基本的に必要な関連性の有無の結果セット内のすべてのノードをチェックしています。私が提案することができます

唯一の改善は、あなたが、すべての子供会の種類を確認することができなくなり、特定のタイプの子会を求める見ることができるということですHow to get all Child associations with a specific Association Type Alfresco (Java)

関連する問題