我想查詢我存儲的版本上的jackrabbit存儲庫。JCR查詢返回摘錄和父標識符
我的庫看起來像是如下:
下面的XPath查詢工作良好://element(*, nt:frozenNode)[jcr:contains(., '" + keyword + "') ]/rep:excerpt(.)
且來自行對象返回我能得到摘錄中去發現:模板節點「德:內容」屬性(這是全文索引我有我自己的lucene配置)。因爲查詢只會返回找到的路徑(/ jcr:system/jcr:versionStorage/95/c8/3e/95c83efc-8441-4017-xxxxx),因此, b3af-ae7be49f07e5/1.0/jcr:frozenNode/de:template)和摘錄本身。
所以我想知道存儲在Jackrabbit中的nt:versionHistory節點的標識符。
我有一個解決方案中,通過獲取父節點,直到NT:達到versionHistory並獲得其標識符:
Row row = (Row) rows.next();
Node node = row.getNode();
Node frozenNode = node.getParent();
Node versionNumber = frozenNode.getParent();
String versionId = versionNumber.getIdentifier();
然而,這需要太多的時間,有很多版本的壞的表現。
因此,我不知道是否有可能在查詢中包括該版本ID,使得沒有父節點需要執行查詢後取出。