O Oracle Text Reference 10g afirma que, quando indexamos nossa tabela usando o armazenamento de dados de várias colunas, o sistema concatena as colunas de texto, marcando o texto da coluna e indexando o texto como um documento XML virtual para cada linha.
Além disso, em certas situações, podemos usar o armazenamento de dados do usuário para definir procedimentos armazenados que sintetizam documentos durante a indexação. O procedimento pode pegar os dados e colocá-los em um formato XML. Um bom exemplo é mostrado aqui .
A questão
Existe uma maneira de recuperar ou exibir o documento XML virtual subjacente para cada registro? Como?
Provavelmente não
A exibição que pode exibir índices compilados armazenados nativos é CTX_INDEX_VALUES ou CTX_USER_INDEX_VALUES (dependendo das permissões e do usuário que está consultando). No entanto, como o comprimento do valor do índice é de apenas 500 caracteres, é improvável que ele seja armazenado lá. (Apenas comece a selecionar aleatoriamente desses índices, se existir, provavelmente estará lá.)
Observando o design da exibição, no entanto, é improvável que esses elementos XML virtuais sejam armazenados, pois é muito mais fácil compilá-los dinamicamente e, em seguida, carregá-los na memória.
Como alternativa, CTX_DOC possui várias funções de marcação, mas nenhuma indica a capacidade de acessar o XML nativo.
Você também pode querer explorar a discussão em torno do metalink: 122255.1 (Infelizmente, não tenho acesso ao metalink no momento).
Pode ser mais fácil escrever seu próprio parser-to-XML (já que o oracle tem algumas funções XML nativas excelentes) do que tentar hackear o índice de texto completo.