interMedia全文检索中如何对MSWORD文件建立索引
有两种方式,BLOB方式和存储文件名,但是两种方式我都不能得到正确的结果,请问该怎么做才能达到目的,谢谢
希望具体的指导。
我发现索引能够建立,只是最后出来的都是乱码,不是中文,即使文章都是纯英文的,一样也是乱码,下面是我的程序,那个WORD文件是一个一般的文件,WORD2000版。
drop table datastores;
create table datastores(id number primary key, lang varchar2(10),docs varchar2(2000));
insert into datastores values(111555,'schi','d:\fulltext\b.doc');
--insert into datastores values(111556,'d:\fulltext\2.txt');
commit;
begin
ctx_ddl.drop_preference('NO_PATH');
end;
/
begin
ctx_ddl.drop_preference('myfilter');
end;
/
begin
ctx_ddl.create_preference('NO_PATH','FILE_DATASTORE');
end;
/
begin
ctx_ddl.create_preference('myfilter', 'USER_FILTER');
ctx_ddl.set_attribute('myfilter', 'command', 'auto_filt.bat');
end;
/
begin
ctx_ddl.drop_preference('global_lexer');
end;
/
begin
ctx_ddl.drop_preference('english_lexer');
end;
/
begin
ctx_ddl.drop_preference('chinese_lexer');
end;
/
begin
ctx_ddl.create_preference('english_lexer','basic_lexer');
end;
/
begin
ctx_ddl.create_preference('chinese_lexer','CHINESE_VGRAM_LEXER');
end;
/
begin
ctx_ddl.create_preference('global_lexer', 'multi_lexer');
ctx_ddl.add_sub_lexer('global_lexer','default','english_lexer');
ctx_ddl.add_sub_lexer('global_lexer','simplified chinese','chinese_lexer','schi');
end;
/
begin
ctx_output.start_log('a.log');
end;
/
create index datastores_text on datastores (docs)
indextype is ctxsys.context
parameters ('lexer global_lexer language column lang datastore no_path filter ctxsys.inso_filter');
begin
ctx_output.end_log;
end;
/
SQL> select token_text from dr$datastores_text$i where rownum<10;
TOKEN_TEXT
----------------------------------------------------------------
栀攀
幜抗
Ⅻ癞
Ⅻ撖
醏
筼幜
獑譗
獑卟
衟
9 rows selected.
SQL>
|