0

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

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

现在我正在通过使用 NodeService 并按名称查找孩子来做到这一点,这不是有效的方法。我正在使用 JAVA API。

还有其他方法吗?

谢谢

4

1 回答 1

3

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

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

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

  1. 启用 TMQ 补丁,以便节点属性表在数据库中建立索引。
  2. 尽可能使用数据库启用搜索 ( TRANSACTION_IF_POSSIBLE )。
  3. 确保使用正确的查询语言(CMIS、AFTS、db-lucene 等)
  4. 您的查询必须受 TMQ 支持
于 2017-03-17T18:41:24.180 回答