搜索刚刚创建的Alfresco JAVA节点

时间:2017-03-17 16:37:07

标签: alfresco cmis alfresco-enterprise

在一个要求中,我需要查询刚创建的文档。如果我使用lucene搜索,则需要几秒钟才能完成索引,并且可能不会出现在搜索结果中。

查询应该从一些露天的webscript或每5秒运行一次的调度程序执行。

现在我正在使用NodeService并按名称查找子节点,这不是有效的方法。我正在使用JAVA API。

还有其他办法吗?

谢谢

1 个答案:

答案 0 :(得分:2)

您没有提到您正在使用的Alfresco版本,但看起来您使用的是Solr。

如果您刚刚创建了文档,建议您保留对它的引用,这样您就不必再次搜索它。

但是,有时无法获得文档参考。例如, client1 不知道 client2 刚创建了一个文档。如果您使用的是Alfresco 4.2或更高版本,则可以启用Transactional Metadata Queries (TMQ),这允许您对数据库执行搜索,因此没有Solr延迟。请查看整个部分,因为您需要遵守四个使用TMQ的条件:

  1. Enable the TMQ patch,因此节点属性表将在数据库中建立索引。
  2. 尽可能使用数据库启用搜索(TRANSACTION_IF_POSSIBLE)。
  3. 确保使用正确的query language(CMIS,AFTS,db-lucene等)
  4. 您的查询必须为supported by TMQ