-1

类别名称 | 地理 (8) 研究数据库 (18)

我在露天实施我自己的高级搜索。我需要阅读与特定类别相关的所有文件。

例子:

如果 geograpy 下有 20 个文件,lucene 查询应在搜索关键字“banana”下读取特定文档。

进一步解释 - 我正在使用 search.lib.js 进行搜索。我想分析结果以找出文档属于哪个类别。例如,我想知道有多少文档属于 Languages 下的类别和子类别。我尝试了分类 API,但没有得到我想要的结果。任何想法如何通过结果来获取每个文档的类别名称?

有没有像 node.properties["cm:creator"] 这样的简单方法?

谢谢

亚纳卡

4

2 回答 2

0

例如,您可以使用下一个查询来查找/cm:Languages以下任何深度的所有节点:

var results = search.luceneSearch("+PATH:\"cm:generalclassifiable/cm:Languages//*\");

看看这个网址:https ://wiki.alfresco.com/wiki/Search#Path_Queries

一旦你拥有了所有的元素,你可以循环所有,并得到下面的哪个类别。当然,您需要为每个类别/子类别创建一些计数器:

for(i = 0; i < results.length; i++){
    var node = results[i];
    var categoryNodeRef = node.properties["cm:categories"];
    var categoryDesc = categoryNodeRef.properties["cm:description"];
    var categoryName = categoryNodeRef.properties["cm:name"];
}

这并不完全是解决方案,但可以作为一个有用的想法开始。

抱歉,如果这不是您要的,我刚从假期回来。

于 2014-08-20T12:38:43.690 回答
0

我认为您应该详细说明您的问题:

  1. 您使用的是 cm:content 还是自定义内容?
  2. 您要在文件内容中搜索关键字吗?还是您要在特定元数据中搜索关键字?
  3. 你想创建一个 webscript(java 或 javascript)吗?

需要考虑的一件事:

如果您在 lucene 查询中使用 +PATH:"cm:generalclassifiable/...." 进行分类,则性能会很慢(根据我的经验)

于 2014-07-25T14:51:47.163 回答