【发布时间】:2016-12-06 14:28:20
【问题描述】:
我正在寻找一个查询(lucene、fts-alfresco 或...)来返回所有具有特定子关联(不为空)的文档。
一些上下文:
abc:document 类型的文档有一个子关联 abc:linkedDocument。
并非所有文档都有其他文档链接,有些没有,有些则有一个或多个。
我需要一种快速简便的方法来概览至少有一个文档链接到它们的所有文档。
目前我有一个 webscript 可以满足我的需要,但我不想拥有大量与业务无关的 webscript。
代码:
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;
}
}
}
【问题讨论】: