oracle全文检索

来源:互联网 发布:三菱plc编程实例100例 编辑:程序博客网 时间:2024/04/30 11:36

测试环境oracle11g


BEGIN

  CTX_DDL.CREATE_PREFERENCE('TEST_LEXER', 'CHINESE_VGRAM_LEXER');

 --ctx_ddl.create_preference ('SMS_ADDRESS_LEXER', 'CHINESE_LEXER');

END;
/

CREATE  INDEX   IND_T_DZ  ON  T(DZ)   INDEXTYPE   IS   CTXSYS.CONTEXT PARAMETERS ('LEXER XHY.TEST_LEXER');


--同步维护
begin
  ctx_ddl.sync_index('IND_T_DZ');
end;
/
--优化维护
begin
  ctx_ddl.optimize_index('IND_T_DZ', 'FAST');
end;

/


job:

--同步

variable jobno number;
BEGIN
DBMS_JOB.SUBMIT(:jobno,'ctx_ddl.sync_index(''IND_T_DZ'');', SYSDATE, 'SYSDATE + (1/24/4)');
 commit;
END;

--优化
variable jobno number;
begin
 DBMS_JOB.SUBMIT(:jobno,'ctx_ddl.optimize_index(''IND_T_DZ'',''FULL'');', SYSDATE, 'SYSDATE + 1');
 commit;
END;



CONTAINS关键用法

1: and
2: not 
3: or 
4: near--'A near B'
5: "good bay"是一个词组,在单引号里还要用双引号括起来。
6: "a%"
7: CONTAINS( address, 'FORMSOF (INFLECTIONAL,street)' )
remark: 查询将返回包含 'street','streets'等字样的地址。
         对于动词将返回它的不同的时态,如:dry,将返回 dry,dried,drying 等等。

8: CONTAINS( address, 'ISABOUT (city weight (.8), county wright (.4))' )
remark: ISABOUT 是这种查询的关键字,weight 指定了一个介于 0~1之间的数,类似系数(我的理解)。表示不同条件有不同的侧重。




原创粉丝点击