使用 Rest API 根据内容模型属性在 Alfresco 中搜索文件

Search for files in Alfresco based on the content model properties using Rest API

我正在尝试根据文档的内容模型的属性在Alfresco中实现文件搜索。

我找到了这个 ReST API:

GET /alfresco/s/slingshot/search?term={term?}&tag={tag?}&site={site?}&container={container?}&sort={sort?}&query={query?}&repo= {回购?}

但我不确定如何在查询参数中传递 属性 文档名称。

例如:

我的文档内容模型是:dc:InvoiceModel

属性 名字是:dc:doctype.

所以,我想将 dc:doctype 作为查询参数作为 Sales Invoice 传递,例如获取 all 销售发票类型的单据。这些文档位于 documentLibrary

中的一个文件夹中

我试过这样做:

http://localhost:8080/alfresco/s/slingshot/search?container=documentLibrary/newfolder&sort=dc:dc:doc...false&repo=true&startIndex=0&query={"dc:doctype": "销售发票","数据类型":"d:text"}

但我找到的记录为零。你能帮我做一下吗?

露天版本:

Alfresco Share v5.1.f (r125711-b6, Aikau 1.0.63, Spring Surf 5.1.f, Spring WebScripts 6.5, Freemarker 2.3.20-alfresco-patched, Rhino 1.7R4-alfresco-patched, Yui 2.9.0-alfresco-20141223)

Alfresco 社区 v5.1.0 (r127059-b7) 架构 10001

谢谢大家!

注意:slingshot 不是 public API(但在 5.1 中你没有 public 搜索 API)。在 5.2 中你应该使用 Alfresco Content Services REST API

在这个 SO 问题中,您应该已经找到答案:

一些评论:

  • 容器:可以是像 documentLibrary 这样的站点容器类型之一,但只有与站点一起才有意义
  • 查询:(默认为 Alfresco FTS)应该看起来像 dc\:doctype:"Sales Invoice" 但应该是 url 编码。您还可以添加一个 PATH 查询,如上面的答案所示