DB2/400 SQL : 全文

DB2/400 SQL : FullText

SQL DB2/400 : 是否有人尝试使用 FullText。

如果我能有一个 sql 示例代码,那就太好了。

例如,我想将它与 clob 列一起使用。

非常感谢

这会从 mylib.myfile[mytext] 中提取所有 space 个分隔词 并将它们放入具有两列的 table 中。我将字长限制为 15,因为实际上当用户输入的字长超过 15 个字符时,我可能已经在第 15 个找到匹配项并向用户提供了一个列表。

我从网上复制了这个技巧。

CREATE TABLE mylib.myidx AS
(                                   
  WITH SPLITTER (ID, START, E, SECTION, ORIGINAL, NUM) AS 
  ( SELECT UID, 1, LOCATE(' ', mytext), CAST('' AS VARCHAR(8000)), mytext, 0  
      FROM mylib/myfile                                               
    UNION ALL
    SELECT ID, E + 1,
           CASE WHEN LOCATE(' ',ORIGINAL, E + 1) > 0
                THEN LOCATE(' ', ORIGINAL, E + 1)
                ELSE LENGTH(ORIGINAL) + 1
             END,
           SUBSTRING(ORIGINAL, START, E - START), 
           ORIGINAL, NUM + 1
      FROM SPLITTER
      WHERE E > START
  )                 
  SELECT ID AS UID                                                 
        ,CAST(SECTION AS VARCHAR(15)) AS SECTION                         
    FROM SPLITTER
    WHERE LENGTH(SECTION)>1                                 
)
WITH DATA;