对不受支持的数据类型创建文本索引

要创建索引,文本列必须属于下列数据类型的其中一种:

如果文档在其它类型(例如,用户定义的类型(UDT))的列中,则必须提供将用户类型作为输入的函数,和作为输出类型来提供上面提到的一种类型。

指定此变换函数的名称。有关进一步的信息,请参阅CREATE INDEX

示例:您打算将压缩文本存储在表中。

  1. 在交互式 SQL 会话中为文本创建用户定义的类型(UDT):
    db2 "CREATE DISTINCT TYPE COMPRESSED_TEXT AS CLOB(1M)"
  2. 创建一个表,并将文本插入该表中:
    db2 "CREATE TABLE UDTTABLE (author VARCHAR(50) not null,
                                  text COMPRESSED_TEXT, primary key (author))"
    db2 "INSERT ..."
  3. 例如,创建一个称为 uncompress 的用户定义的函数(UDF)。这将接收到一个类型为 COMPRESSED_TEXT 的值,并且返回相应的未压缩文本,例如,值 CLOB(10M)。
  4. 按以下方法创建文本索引来指定 uncompress UDF:
    db2text "CREATE INDEX UDTINDEX for text ON UDTTABLE
                                   (uncompress(text))
                                   ..."