搜索所有文档
我正在尝试通过alfresco DMS通过OpenCMIS进行FindAllByName功能。基本上,它应该找到所有具有一定名称的文档。
目前,我已经尝试进行递归搜索,不幸的是非常昂贵。
private List<Document> traverseAndFind(String name, Folder currentFolder, List<Document> foundDocuments) {
List<Folder> subFolders = new ArrayList<>();
for (CmisObject obj : currentFolder.getChildren()) {
if (obj.getName().equals(name) && obj instanceof Document) {
foundDocuments.add((Document) obj);
} else if (obj instanceof Folder) {
subFolders.add((Folder) obj);
}
}
for (Folder subFolder : subFolders) {
traverseAndFind(name, subFolder, foundDocuments);
}
return foundDocuments;
}
从我在实现文件夹:: getChildren()
的实现中看到的内容,它一直与 session
一起工作,并提出单独的请求以查找某个文件夹的孩子,从而导致进行相当浅的搜索的总体时间很长,这可能意味着我正在错误地处理问题。
有更好的方法吗?例如,您将如何进行搜索,从而导致所有存储的所有文件名的列表?
感谢您提供的任何提示!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在Alfresco中搜索的最佳方法是使用查询,
您的查询应该是这样的:
in_tree
用于从特定文件夹中进行递归搜索,如果您想在所有存储库中搜索,请不要添加in_tree
在此处示例Java:
The best way to search in Alfresco is by using queries
Your query should be like this :
IN_TREE
is used for recursive search from Specific Folder, if you want to search in all repository, don't addIN_TREE
Here sample in JAVA: