Skip to content

TOKENS2

接口/方法功能

TOKENS2支持四种不同的重载,详见下文。

接口/方法声明

  • 重载形式一

    PROCEDURE TOKENS2(INDEX_NAME  IN VARCHAR2,		
                    TEXTKEY     IN VARCHAR2,
                    RESTAB      IN OUT TOKEN_TAB);
  • 重载形式二

    PROCEDURE TOKENS2(INDEX_NAME  IN VARCHAR2,
                    TEXTKEY     IN VARCHAR2,
                    RESTAB      IN VARCHAR2,
                    QUERY_ID    IN NUMBER DEFAULT 0);
  • 重载形式三

    PROCEDURE TOKENS2(CONTENT    VARCHAR2, 
                    RESTAB     IN OUT TOKEN_TAB)
  • 重载形式四

    PROCEDURE TOKENS2(CONTENT    CLOB, 
                    RESTAB     IN OUT TOKEN_TAB)

参数说明

  • 重载形式一

    参数名称参数类型参数解释默认值
    INDEX_NAMEVARCHAR2-
    TEXTKEYVARCHAR2-
    RESTABTOKEN_TAB-
  • 重载形式二

    参数名称参数类型参数解释默认值
    INDEX_NAMEVARCHAR2-
    TEXTKEYVARCHAR2-
    RESTABTOKEN_TAB-
    QUERY_IDNUMBER-0
  • 重载形式三

    参数名称参数类型参数解释默认值
    CONTENTVARCHAR2-
    RESTABTOKEN_TAB-
  • 重载形式四

    参数名称参数类型参数解释默认值
    CONTENTCLOB-
    RESTABTOKEN_TAB-

操作示例

文章破词的使用方法如下所述:首先给定一个词库,命名为STD_VOC.txt,这个文件放在安装目录下的XVOC文件夹下面。登录系统库执行下面两条命令,完成词库的编译和加载。

recompile vocable table 'STD_VOC' ;
load vocable table 'STD_VOC' ;

示例如下:

DECLARE
	TYPE TOKEN_REC  IS RECORD(TOKEN VARCHAR(64),OFFSET INTEGER,LENGTH INTEGER);
	TYPE TOKEN_TAB  IS TABLE OF TOKEN_REC;
	WORD_TAB  TOKEN_TAB;
BEGIN
	CTX_DOC.SET_SPLIT_POLICY(CTX_DOC.SP_MAX_LEN + CTX_DOC.SP_ASCII + CTX_DOC.SP_DIGIT);
	CTX_DOC.TOKENS2('LOCK 梆子李白佛教梵蒂冈中华人民早好上教参子发梵蒂冈李小龙爱情牛角尖中华人民好人一生平安牛角尖2232',WORD_TAB);
	FOR i IN 1 .. WORD_TAB.COUNT LOOP
		SEND_MSG(WORD_TAB(i).TOKEN || ' OFFSET = ' || WORD_TAB(i).OFFSET || ' LEN='||WORD_TAB(i).LENGTH);
	END LOOP;
END;