如何获取 Oracle Text Index 的底层虚拟 XML 文档?

Gan*_*Gan 3 oracle oracle-10g full-text-search

Oracle Text的参考10克状态,当我们使用索引的多列数据存储我们的桌子,系统地连接了文本列,标签栏的文本和索引文本为每行一个虚拟的XML文档。

此外,在某些情况下,我们可以使用用户数据存储来定义在索引期间合成文档的存储过程。该过程可以获取数据并将它们放入 XML 格式。这里显示一个很好的例子。

问题

有没有办法检索或显示每条记录的底层虚拟 XML 文档?如何?

Bri*_*ton 5

可能不是

可能显示本地存储编译索引的视图是CTX_INDEX_VALUES或 CTX_USER_INDEX_VALUES(取决于权限和查询用户)。但是,鉴于索引值长度只有 500 个字符,因此不太可能将其存储在那里。(只需开始从这些索引中随机选择,如果存在,它可能会在那里。)

然而,查看视图设计,不太可能存储这些虚拟 XML 元素,因为动态编译它们然后将它们加载到内存中要容易得多。

或者,CTX_DOC 有许多标记函数,但没有一个表示能够访问原生 XML。

您可能还想探索有关 metalink 的讨论:122255.1(不幸的是,我目前没有 metalink 访问权限)。

编写自己的解析器到 XML(因为 oracle 有很多优秀的原生 XML 函数)可能比尝试破解全文索引更容易。