Oracle

如何獲取 Oracle 文本索引的底層虛擬 XML 文件?

  • January 7, 2011

Oracle Text Reference 10g指出,當我們使用多列數據儲存對錶進行索引時,系統會連接文本列,標記列文本,並將文本索引為每行的虛擬 XML 文件。

此外,在某些情況下,我們可以使用使用者數據儲存來定義在索引期間合成文件的儲存過程。該過程可以獲取數據並將它們以 XML 格式放置。這裡展示了一個很好的例子。

問題

有沒有辦法檢索或顯示每條記錄的底層虛擬 XML 文件?如何?

可能不是

可以顯示本地儲存編譯索引的視圖是CTX_INDEX_VALUES或 CTX_USER_INDEX_VALUES(取決於權限和查詢使用者)。但是,鑑於索引值長度只有 500 個字元,它不太可能儲存在那裡。(剛開始從那些索引中隨機選擇,如果它存在,它很可能就在那裡。)

然而,從視圖設計來看,這些虛擬 XML 元素不太可能被儲存,因為動態編譯它們然後將它們載入到記憶體中要容易得多。

或者,CTX_DOC 有許多標記函式,但沒有一個表明能夠訪問本機 XML。

您可能還想探索有關 metalink 的討論:122255.1(不幸的是,我目前沒有 metalink 訪問權限)。

編寫自己的解析器到 XML(因為 oracle 有很多優秀的原生 XML 函式)可能比嘗試破解全文索引更容易。

引用自:https://dba.stackexchange.com/questions/378