正在使用Lucene / FTS搜索Alfresco分享网站会员

时间:2015-06-24 14:30:43

标签: lucene full-text-search alfresco alfresco-share

是否可以使用lucene或fts-alfresco搜索Alfresco Share网站成员?例如,我想找到所有网站成员的姓氏" Smith"。

此外,是否可以搜索对站点文件夹或文档具有特定权限的用户?

3 个答案:

答案 0 :(得分:2)

您无法使用Lucene直接搜索网站成员,因为索引没有任何与之相关的数据。您需要做的是使用siteService来获取该信息。您可以使用这些API中的任何一个。第二个返回Map可能更相关。

<强> org.alfresco.service.cmr.site.Site.SiteService

listMembers(String shortName, String nameFilter, String roleFilter, boolean collapseGroups, SiteService.SiteMembersCallback callback)

    or 

listMembers(String shortName, String nameFilter, String roleFilter, int size)

您首先需要使用siteservice的API访问所有网站成员,然后对其进行迭代以获取所需的用户。

答案 1 :(得分:0)

我不确定你是否可以使用lucene做到这一点,但如果你想找到用户,下面的webscript是有用的。

如果您在下面看到url // Assuming there's only one element per section. cell.textLabel.text = self.agendaTableArray[indexPath.section]; 参数指定了user的名称。如果您没有指定nf=NameOfUsers参数,它将返回所有用户。

http://localhost:8080/share/proxy/alfresco/api/sites/demo/memberships?size=250&nf=te&authorityType=USER

有关上述webscript的更多详细信息,您可以使用以下网址。 http://localhost:8080/alfresco/service/script/org/alfresco/repository/site/membership/memberships.get

答案 2 :(得分:0)

是的,可以使用fts-alfresco搜索Alfresco Share网站成员,因为网站成员属于Alfresco组。

例如,以下查询返回SWSDP站点的成员:

PATH:"/sys:system/sys:authorities/cm:GROUP_site_swsdp//*" AND TYPE:"cm:person"