在一个要求中,我需要查询刚刚创建的文档。如果我使用 lucene 搜索,那么进行索引需要几秒钟,并且可能不会出现在搜索结果中。
查询应该从一些露天网络脚本或每5秒运行的调度程序执行。
现在我正在使用 NodeService 并按名称查找孩子,这不是有效的方法。我正在使用 JAVA API。
还有其他方法可以做到吗?
谢谢
你没有提到你正在使用什么版本的Alfresco,但看起来你正在使用Solr。
如果您刚刚创建了文档,建议保留对它的引用,这样您就不必再次搜索它。
但是,有时无法获得文档引用。例如,客户端1不知道客户端 2刚刚创建了一个文档。如果您使用的是Alfresco版本4.2或更高版本,您可能可以启用事务元数据查询(TMQ),它允许您对数据库执行搜索,因此没有Solr延迟。请查看整个部分,因为您需要遵守四个条件才能使用 TMQ:
- 启用 TMQ 修补程序,以便节点属性表在数据库中建立索引。
- 尽可能使用数据库启用搜索 (TRANSACTION_IF_POSSIBLE)。
- 确保使用正确的查询语言(CMIS,AFTS,db-lucene等)
- TMQ 必须支持您的查询。