如何显示alfresco数据库中的数据?

时间:2012-10-03 08:24:15

标签: database api alfresco

如果我想了解露天页面中的所有文件,以便在露天页面上显示如何首先执行此操作?

现在我找不到数据库的api访问权限,如果我找到api,我该怎么办呢?

3 个答案:

答案 0 :(得分:3)

您可以向SearchService发出查询,如下所示:

SearchParameters params = new SearchParameters();
params.getStores().add(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE);
params.setLanguage(SearchService.LANGUAGE_FTS_ALFRESCO);
params.setQuery("TYPE:cm\\:content AND PATH:\"/app\\:company_home/st\\:sites/cm\\:test/cm\\:documentLibrary//*\"");
ResultSet result = searchService.query(params);
System.out.println(result.length());

但我不确定它对性能的优化程度。

答案 1 :(得分:1)

简单的方法是,您可以通过api查询数据库中的所有类型:localhost:8080/alfresco/service/cmis/query?q={q}
对于露天,q是 CMIS查询语言。例如SELECT * FROM cmis:document它选择所有文件的所有属性

查看更多CMIS Query Language

答案 2 :(得分:1)

根据我的经验,有时最好从数据库中获取此类信息。

仅供参考:在我目前的项目中,我们在repo中有超过50000个文档,我需要获得准确的监控号码。

某些情况下

中使用数据库查询的几点
  1. CMIS(更慢)(在我的情况下,每次查询需要1-2秒)。正如@lightoze建议您可以使用AgID =115,但之后您将获得SearchService中的文档,因此您还需要调用ResultSet方法来获取它们的数量,我认为这比sql调用更耗时。在我的情况下,我每隔5分钟打一次电话。

  2. 5.0.c中有一个bug,它将某些查询的结果限制为1000个文档。

  3. Here您可以找到如何连接到数据库和here一些有趣的查询,包括repo中的文档总数。

相关问题