【问题标题】:Search for the node just created Alfresco JAVA搜索刚刚创建的节点 Alfresco JAVA
【发布时间】:2017-03-18 03:18:27
【问题描述】:

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

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

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

还有其他方法吗?

谢谢

【问题讨论】:

  • 为什么不使用规则或行为在创建新节点时调用您的代码?那将是“更户外”的方式

标签: alfresco cmis alfresco-enterprise


【解决方案1】:

您没有提及您使用的是什么版本的 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

【讨论】:

  • 感谢它的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-03
  • 2014-02-21
  • 2020-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-26
相关资源
最近更新 更多