我们在DIT中发现了一个错误,其中CMIS查询在archive:// SpacesStore中返回了许多看似有效的节点中的节点。 使用CMIS工作台,当我点击存档节点的objectId时,CMIS工作台表示无法找到该节点。
in_tree中使用的查询如下:
SELECT * FROM <model> WHERE IN_TREE('6fd7f269-9d44-40a3-9152-1b89d6a3d07c')
Alfresco支持表示我们的Solr索引可能已损坏,我们可以简单地重新索引。我更喜欢通过手术解决问题,所以我最终做到了这一点:
select n.id as node_id, n.UUID
from alf_node n
where n.uuid in ('a06d87d6-e49a-4f85-b5c3-2e68a81ad760',
'b6bb26d1-aaf2-4a80-8ce9-8aae93f89d9d',
'10951fbd-f2ab-4247-89c1-b050aa00a4f9')
1724775 b6bb26d1-aaf2-4a80-8ce9-8aae93f89d9d
1724776 b6bb26d1-aaf2-4a80-8ce9-8aae93f89d9d
1726270 10951fbd-f2ab-4247-89c1-b050aa00a4f9
1726271 10951fbd-f2ab-4247-89c1-b050aa00a4f9
1726260 a06d87d6-e49a-4f85-b5c3-2e68a81ad760
1726261 a06d87d6-e49a-4f85-b5c3-2e68a81ad760
select n.id as node_id, n.uuid
from alf_node_properties p, alf_node
where n.uuid in ('a06d87d6-e49a-4f85-b5c3-2e68a81ad760'
'b6bb26d1-aaf2-4a80-8ce9-8aae93f89d9d',
'10951fbd-f2ab-4247-89c1-b050aa00a4f9')
and p.STRING_VALUE like 'workspace%'
and n.id = p.node_id;
1724775 b6bb26d1-aaf2-4a80-8ce9-8aae93f89d9d
1726270 10951fbd-f2ab-4247-89c1-b050aa00a4f9
1726260 a06d87d6-e49a-4f85-b5c3-2e68a81ad760
http://<solr_host>/solr/admin/cores?action=REINDEX&nodeid=1724775
http://<solr_host>/solr/admin/cores?action=REINDEX&nodeid=1726270
http://<solr_host>/solr/admin/cores?action=REINDEX&nodeid=1726260
<response> <lst name="responseHeader"> <int name="status">0</int> <int name="QTime">0</int> </lst> </response>
SELECT * FROM <model> WHERE IN_TREE('6fd7f269-9d44-40a3-9152-1b89d6a3d07c')
在CMIS工作台中,最大命中数为1000。
滚动查看结果,找不到存档记录。我清理了从CMIS搜索中找到的损坏的索引节点,但是如何在整个索引中找到这些损坏的节点?我尝试在搜索中添加条件以仅指定那些节点,但这只会导致空结果集。任何人都可以解释这可能发生的原因和原因如何在Alfresco中检查更多损坏的Solr索引节点?
顺便说一下,我们仍在使用Alfresco 4.2和Solr 1