最近想用oracle的全文检索技术,于是按照网上的内容在本机上尝试着进行全文检索,结果问题出来了:oracle的全文检索不支持对TXT文本么????我用的是oracle9i,对于其他的检索都是成功的。具体的sql语句如下:CREATE TABLE T_FULLTEXT_DEMO(
ID NUMBER NOT NULL,
TITLE VARCHAR2(100) NULL,
REMARK VARCHAR2(200) NULL,
FILE_NAME VARCHAR2(200) NULL,
CONSTRAINT T_FULLTEXT_DEMO_PK PRIMARY KEY ( ID ));
BEGIN
CTXSYS.CTX_DDL.CREATE_PREFERENCE('MYMDS','MULTI_COLUMN_DATASTORE');
CTXSYS.CTX_DDL.SET_ATTRIBUTE('MYMDS', 'COLUMNS', 'TITLE, REMARK');
END;CREATE INDEX T_FULLTEXT_DEMO_IDX ON T_FULLTEXT_DEMO (TITLE) INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS('DATASTORE MYMDS');drop index T_FULLTEXT_DEMO_IDXBEGIN
--CTX_DDL.DROP_PREFERENCE('MY_LEXER');
--CTX_DDL.DROP_PREFERENCE('MY_DATASTORE_PREFS');
CTX_DDL.CREATE_PREFERENCE ('MY_LEXER', 'CHINESE_VGRAM_LEXER');
CTX_DDL.CREATE_PREFERENCE ('MY_DATASTORE_PREFS', 'FILE_DATASTORE');
CTX_DDL.SET_ATTRIBUTE ('MY_DATASTORE_PREFS', 'PATH', 'D:\Projects\My_Documents; D:\Projects\My_Documents\UML_DOC');
END;CREATE INDEX T_FULLTEXT_DEMO_FILE_IDX ON T_FULLTEXT_DEMO(FILE_NAME)
INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS('DATASTORE MY_DATASTORE_PREFS LEXER MY_LEXER');INSERT INTO T_FULLTEXT_DEMO VALUES (1, 'NTKO OFFICE文档控件技术白皮书', 'NTKO OFFICE文档控件技术白皮书','NTKO OFFICE文档控件技术白皮书.pdf');
INSERT INTO T_FULLTEXT_DEMO VALUES (2, 'NTKO控件', 'NTKO控件','NTKO控件.txt');
INSERT INTO T_FULLTEXT_DEMO VALUES (3, '新建 文本文档', '新建 文本文档','新建 文本文档.txt');
INSERT INTO T_FULLTEXT_DEMO VALUES (4, 'oracle全文检索', 'oracle全文检索','oracle全文检索.pdf');
INSERT INTO T_FULLTEXT_DEMO VALUES (5, '新建 Microsoft Excel 工作表', '新建 Microsoft Excel 工作表','新建 Microsoft Excel 工作表.xls');
INSERT INTO T_FULLTEXT_DEMO VALUES (6, 'test', 'test','test.txt');
BEGIN CTXSYS.CTX_DDL.SYNC_INDEX('T_FULLTEXT_DEMO_FILE_IDX'); CTXSYS.CTX_DDL.SYNC_INDEX('T_FULLTEXT_DEMO_IDX');END;select * from T_FULLTEXT_DEMO where contains(FILE_NAME,'**')>0;
ID NUMBER NOT NULL,
TITLE VARCHAR2(100) NULL,
REMARK VARCHAR2(200) NULL,
FILE_NAME VARCHAR2(200) NULL,
CONSTRAINT T_FULLTEXT_DEMO_PK PRIMARY KEY ( ID ));
BEGIN
CTXSYS.CTX_DDL.CREATE_PREFERENCE('MYMDS','MULTI_COLUMN_DATASTORE');
CTXSYS.CTX_DDL.SET_ATTRIBUTE('MYMDS', 'COLUMNS', 'TITLE, REMARK');
END;CREATE INDEX T_FULLTEXT_DEMO_IDX ON T_FULLTEXT_DEMO (TITLE) INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS('DATASTORE MYMDS');drop index T_FULLTEXT_DEMO_IDXBEGIN
--CTX_DDL.DROP_PREFERENCE('MY_LEXER');
--CTX_DDL.DROP_PREFERENCE('MY_DATASTORE_PREFS');
CTX_DDL.CREATE_PREFERENCE ('MY_LEXER', 'CHINESE_VGRAM_LEXER');
CTX_DDL.CREATE_PREFERENCE ('MY_DATASTORE_PREFS', 'FILE_DATASTORE');
CTX_DDL.SET_ATTRIBUTE ('MY_DATASTORE_PREFS', 'PATH', 'D:\Projects\My_Documents; D:\Projects\My_Documents\UML_DOC');
END;CREATE INDEX T_FULLTEXT_DEMO_FILE_IDX ON T_FULLTEXT_DEMO(FILE_NAME)
INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS('DATASTORE MY_DATASTORE_PREFS LEXER MY_LEXER');INSERT INTO T_FULLTEXT_DEMO VALUES (1, 'NTKO OFFICE文档控件技术白皮书', 'NTKO OFFICE文档控件技术白皮书','NTKO OFFICE文档控件技术白皮书.pdf');
INSERT INTO T_FULLTEXT_DEMO VALUES (2, 'NTKO控件', 'NTKO控件','NTKO控件.txt');
INSERT INTO T_FULLTEXT_DEMO VALUES (3, '新建 文本文档', '新建 文本文档','新建 文本文档.txt');
INSERT INTO T_FULLTEXT_DEMO VALUES (4, 'oracle全文检索', 'oracle全文检索','oracle全文检索.pdf');
INSERT INTO T_FULLTEXT_DEMO VALUES (5, '新建 Microsoft Excel 工作表', '新建 Microsoft Excel 工作表','新建 Microsoft Excel 工作表.xls');
INSERT INTO T_FULLTEXT_DEMO VALUES (6, 'test', 'test','test.txt');
BEGIN CTXSYS.CTX_DDL.SYNC_INDEX('T_FULLTEXT_DEMO_FILE_IDX'); CTXSYS.CTX_DDL.SYNC_INDEX('T_FULLTEXT_DEMO_IDX');END;select * from T_FULLTEXT_DEMO where contains(FILE_NAME,'**')>0;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货