Criação de um índice de pesquisa de texto em tipos de dados não suportados
Se os documentos estiverem em uma coluna de um tipo de dados não suportado, como um tipo definido pelo usuário (UDT), será necessário fornecer uma função que receba o tipo de usuário como entrada e forneça um tipo de saída que seja um dos tipos suportados.
Sobre essa Tarefa
Uma coluna de texto em um índice deve ser de um dos seguintes tipos compatíveis:
- CHAR
- VARCHAR
- LONG VARCHAR
- CLOB
- GRAPHIC
- VARGRAPHIC
- LONG VARGRAPHIC
- DBCLOB
- BLOB
- XML
Para converter o tipo de dados da coluna em um dos tipos válidos, use um dos métodos a seguir:
- Execute o comando db2ts CREATE INDEX com o nome de uma função de transformação.
db2ts "CREATE INDEX index-name FOR TEXT ON table-name (function-name(text-column-name))" - Use uma função externa definida pelo usuário (UDF), especificada por function-name, que acesse documentos de texto em uma coluna que não seja de um tipo suportado para pesquisa de texto, execute uma conversão de tipo de dados desse valor e retorne o valor como um dos tipos de dados suportados.
Exemplo
No exemplo a seguir, há uma tabela UDTTABLE que contém uma coluna de um tipo definido pelo usuário (UDT) chamado "COMPRESSED_TEXT", que é definido como CLOB 1M ). Para criar um índice nesse tipo de dados, primeiro crie um UDF chamado UNCOMPRESS, que recebe um valor do tipo COMPRESSED_TEXT. Em seguida, crie seu índice de pesquisa de texto da seguinte maneira:
db2ts "CREATE INDEX UDTINDEX FOR TEXT ON
UDTTABLE (UNCOMPRESS(text)) ..."