Alfresco:如何使用'lucensearch'

时间:2018-06-07 02:24:57

标签: alfresco alfresco-share alfresco-enterprise

我在 Alfresco CMS 中编写了以下javascirpt代码,以查找并将 mimetype为“image / png”的文件名称打印到book.txt文件中。此代码成功创建book.txt文件,但它是空白的;它没有写出mimeType为“image / png”的文件的任何名称,尽管有超过100个带有mimetype'mage / png'的png图像文件:

var logFile = space.childByNamePath("book.txt");
if (logFile == null)
{
   logFile = space.createFile("book.txt");
}
if (logFile != null)
{
  var docs = search.luceneSearch("content.mimetype:'image/png'");
   var log = "";
   for (var i=0; i<docs.length; i++)
   {
      log += "Name: " + docs[i].name + "\tPath: " + docs[i].displayPath + "\r\n";
   }
   logFile.content += log;
}

任何建议此代码有什么问题。我把这个代码放在“公司主页&gt;数据字典&gt;脚本”里面,我从“公司主页&gt;网站”运行这个脚本,这是所有内容的根。因此它是包含图像文件的所有文件夹的根。 请指教。

2 个答案:

答案 0 :(得分:1)

请尝试使用此功能可以帮助您

 search.luceneSearch('+PATH:"/app:company_home//*" +@\\{http\\://www.alfresco.org/model/content/1.0\\}content.mimetype:text/plain');
  

content.mimetype:文本/无格式

请在此处指定您的mimetype

您可以从documentation

中找到更多信息

答案 1 :(得分:1)

查询字符串中缺少命名空间(&#34; cm:&#34;)。试试这个:

  var docs = search.luceneSearch("@cm\\:content.mimetype:\"image/png\"");
   var log = "";
   for (var i=0; i<docs.length; i++)
   {
      log += "Name: " + docs[i].name + "\tPath: " + docs[i].displayPath + "\r\n";
   }