我正在使用Alfresco 3.4d并导入了一些节点,并使用NodeService
创建了一些节点。今天我注意到ID的Lucene查询有时会返回两行而不是一行。并非所有节点都表现出这种行为。
例如,当我在Alfresco节点浏览器中执行以下Lucene查询时,我得到如下所示的结果:ID:"workspace://SpacesStore/96c0cc27-cb8c-49cf-977d-a966e5c5e9ca"
如何通过ID查询可以返回多行?我尝试重建Lucene索引,但它没有帮助。当我删除节点时,查询返回0行。如何从查询结果中删除那些“ghost”节点?
答案 0 :(得分:2)
自从Alfresco 3.2r以来我见过这个问题,但也许它更老了!我使用Lucene索引查看器“Luke”(http://www.getopt.org/luke/)直接检查索引,我看到损坏的索引条目几乎不包含任何信息。作为解决方法,我们将搜索结合到一些基本信息,如节点类型或方面。我会问同事他是否有更多相关信息。
答案 1 :(得分:2)
我也遇到了这个问题,并向Alfresco支持建议。他们告诉我,在lucene ID字段中有重复的条目是完全正常的,这与是否存在ANCESTOR有关。他们建议在对节点ID进行lucene搜索时使用 sys:node-uuid 字段,例如:
@sys\:node-uuid:f13a21dd-b020-4c70-aa21-1a0e5c89d42b
答案 2 :(得分:0)
我不知道这是怎么可能的,但是在你的“代码”中,你可以检索你可以随时做的节点:如果node.isDocument或node.isContainer得到真实的结果或类型是cm:content或cm:文件夹中。
您也可以尝试重新编制索引,但我怀疑这会有什么帮助