Oracle全文检索方面的研究(全10)(3)
select * from mytable3 where contains(docs,这是Excel)>0; --查询,支持中文
--暂时测试支持doc,txt,xls,pdf
--更新了文件内容2.txt
select * from mytable3 where contains(docs,这个测试用的文本)>0; --查询无更新好数据
--不同步索引,无效
--同步更新索引
Begin
Ctx_ddl.sync_index(myindex3);
End;
--再次查询
select * from mytable3 where contains(docs,测试)>0; --还是无效
--用相同的值取代2.txt然后再同步索引
Update mytable3 set docs=2.txt where id=111559;
--再同步索引
--同步更新索引
Begin
Ctx_ddl.sync_index(myindex3);
End;
--再次查询
select * from mytable3 where contains(docs,测试)>0; --结果出现,可见,单更新文件内容,同步索引是无效的,索引认的是数据库纪录,数据库纪录改变,索引才会更新
--新增加文件,结果雷同。关键是要更新数据库纪录,即使改了文件内容,也要用相同的值update数据库纪录一次。
4.3 检索结果高亮显示
Create table my_high (id number primary key, docs varchar2(1000));
insert into my_high values (1, this is a oracle text example. And oracle is the key word.);
insert into my_high values (2, <title>oracle text</title><body>this is a oracle ctx_doc hightlight example.</body>);
commit;
/
--建立索引
create index ind_m_high on my_high(docs) indextype is ctxsys.context;
--返回结果的偏移量
set serverout on
相关新闻>>
- 发表评论
-
- 最新评论 更多>>