我是Jackrabbit的新手。在我們的應用程序中,我們從未打開repository.xml(如workspace.xml)文件中的SearchIndex節,因爲我們總是使用JCR UUID引用直接訪問給定的文檔。我們使用Jackrabbit v2.2.1和Oracle作爲存儲庫。現在我們的需求正在擴大,因爲我們希望使用文檔元數據功能來存儲關於文檔的上下文信息,以便我們可以使用元數據來檢索選定的一組文檔。Jackrabbit XPath問題
作爲第一步,我在workspace.xml文件中添加了默認SearchIndex部分並重新啓動了JCR。
我在日誌文件中看到了一堆這樣的線條 - 然後我看到它在工作區域下創建了索引文件夾。
2011-07-05 15:04:01.724 INFO [Web容器:0] MultiIndex.java:1204索引.../VFS:元數據/ 21ee130e-978e-415F-bfd1-7aa03d91608c/VFS:屬性(3500 )
我有這樣的文件夾結構。當我在創建JCR一個文檔,我指定元數據信息作爲其是由一個複雜的XSD類型與像DOCTYPE,uploadedBy,contextValue標記文檔的一部分,等等
/ (root)
/MyApp (sub-folder)
/documents/ (sub-folder)
/document-1.pdf (file)
/document-2.pdf (file)
/accounts/ (sub-folder)
/account.txt (file)
etc...
以下XPath表達式起作用。
// JCR:根/ VFS:元數據// * [VFS:屬性/ VFS:DOCTYPE = 'TAX_DOCS']
如果我給錯誤的值,例如,而不是 'TAX_DOCS','稅「,它沒有返回任何文件,如預期的那樣很好。這證明元數據按預期正確存儲,並且正確地用於過濾器過程。
該查詢的問題是,它開始從根文件夾搜索,但我只想從/ MyApp /文檔子文件夾搜索。所以,我想這一點:
// JCR:根/ MyApp的/文件// VFS://元* [VFS:屬性/ VFS:DOCTYPE = 'TAX_DOCS']
它沒有返回。然後我也嘗試過,但沒有成功。
// JCR:根/ MyApp的/文件// * [VFS:元/ VFS:屬性/ VFS:DOCTYPE = 'TAX_DOCS']
那我做錯了嗎?我們需要設置或缺少workspace.xml配置中的任何東西嗎?
任何幫助表示讚賞。
謝謝你,傑克