zoukankan      html  css  js  c++  java
  • ORACLE全文检索文件路径版

    一、创建示例表

    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 ));
    二、对TITLEREMARK建立索引

    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'
    );
    三、建立存储选项参数、语法分析器

    BEGIN
       
    --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', 'F:\TEMP'
    );
    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(ID,TITLE,REMARK,FILE_NAME) VALUES(
    1,'德鲁克的《管理:任务、责任、实践》','管理类书籍','WordDoc1.doc');
    INSERT INTO T_FULLTEXT_DEMO(ID,TITLE,REMARK,FILE_NAME) VALUES(
    2,'PB控件的属性事件和函数','PB技术书籍','PB控件的属性事件和函数.pdf'
    );
    INSERT INTO T_FULLTEXT_DEMO(ID,TITLE,REMARK,FILE_NAME) VALUES(
    3,'微软产品报价','微软软件产品报价','微软产品报价.xls'
    );
    INSERT INTO T_FULLTEXT_DEMO(ID,TITLE,REMARK,FILE_NAME)
    VALUES(4,'JavaScript 5.5','JavaScript语言帮助文档','JavaScript 5.5.CHM'
    );
    INSERT INTO T_FULLTEXT_DEMO(ID,TITLE,REMARK,FILE_NAME) VALUES(
    5,'ASCII','ASCII码的各种进制表示方式和代表的意思','ASCII.htm'
    );
    INSERT INTO T_FULLTEXT_DEMO(ID,TITLE,REMARK,FILE_NAME) VALUES(
    6,'UML数据库建模','UML数据库建模的相关知识','UML数据库建模.ppt'
    );

     

     

    六、同步索引和优化索引若此时检索,应没有数据。
    select * from T_FULLTEXT_DEMOwhere contains(TITLE,'管理')>0;

    需要将索引同步

    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(TITLE,'管理')>0;
    select * from T_FULLTEXT_DEMO where contains(FILE_NAME,
    '德鲁克')>0
    ;

    八、优化索引

    BEGIN

        CTXSYS.CTX_DDL.OPTIMIZE_INDEX('T_FULLTEXT_DEMO_FILE_IDX','FULL'); 

       CTXSYS.CTX_DDL.OPTIMIZE_INDEX('T_FULLTEXT_DEMO_IDX','FULL');

    END;

  • 相关阅读:
    cocos2dx ScrollView 测试一 触摸事件优先级和自动调整
    cocos2dx cpp与oc混编打开ios摄像头或图库取图
    cocos2dx 触摸测试四 Armature
    cocos2dx 触摸测试三 优先级及阻止传递
    cocos2dx 触摸测试二 多点包含单点
    cocos2dx 触摸测试一 单点和多点
    cocos2dx xcode5 创建项目
    ORACLE 数据的逻辑组成
    ORACLE rowid,file# 和 rfile#
    ORACLE object_id和data_object_id
  • 原文地址:https://www.cnblogs.com/tracy/p/2058023.html
Copyright © 2011-2022 走看看