我正在使用Alfresco社区版。目前我正在尝试为节点开发自定义行为,我根据直接子节点的最大创建日期(不需要孩子的子节点)采取行动。
有没有办法通过查询/方法获取节点子节点的最大创建日期?我想避免让所有的孩子,然后,每个人得到财产 - 它似乎相当丑陋,可能很慢。
答案 0 :(得分:1)
我相信你正在使用java类来添加这种行为。对于搜索,您可以使用SearchParameter类,您可以根据属性对结果集进行排序。 因此,下面的代码将帮助您创建搜索参数,以获取已排序的结果集(根据创建日期排序)。
SearchParameters sp = new SearchParameters();
sp.setLanguage(SearchService.LANGUAGE_LUCENE);
sp.setQuery(query);
sp.addStore(Repository.getStoreRef());
String field = org.alfresco.repo.search.impl.lucene.QueryParser.escape("@cm:created");
sp.addSort(org.alfresco.repo.search.impl.lucene.QueryParser.escape(field), false);
如果您有任何机会使用javascript,那么您可以按如下方式对结果集进行排序。在以下查询中,您的搜索结果将根据创建的日期按降序排序。
var nodes = search.luceneSearch("TEXT:alfresco", "@cm:created", false);