DB2 / 400 SQL: полный текст - PullRequest
0 голосов
/ 11 марта 2019

SQL DB2 / 400: есть ли кто-то, кто пытался работать с FullText.

Если бы я мог иметь пример кода sql, это будет здорово.

Я хотел бы, например,, чтобы использовать его с столбцом clob.

Большое спасибо

1 Ответ

1 голос
/ 12 марта 2019

Извлекает все слова, разделенные пробелом, из mylib.myfile [mytext] и помещает их в таблицу с двумя столбцами.Я ограничиваю длину слова до 15, потому что в действительности пользователи в любом случае вводят слова длиннее 15 символов, и я, вероятно, уже нашел совпадение 1-го числа 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;            
...