zoukankan      html  css  js  c++  java
  • Oracle全文检索学习(一)

    操作系统:windows xp
    Oracle 10g  10.2
    内存:512M
    数据库全装: 必须要用CTXSYS用户.
    以下是建立最简单支持英文的全文检索
    --删除text用户
    Drop User text;

    -- 创建text用户
    create user text
      identified by text
      default tablespace USERS
      temporary tablespace TEMP;
    -- Grant/Revoke role privileges
    grant resource to text with admin option;
    grant connect to text with admin option;


    --将CTXAPP用户的权限赋予TEXT用,
    Grant CTXAPP  to  text  with  Admin  Option;


    --将HR用户下的EMPLOREE表和数据拷贝到text用户下
     
    --建立一个preference:( ----设置搜索器类型) 
    BEGIN
    ctx_ddl.create_preference ('main_lexer', 'chinese_lexer');
    ctx_ddl.create_preference('mywordlist', 'BASIC_WORDLIST');
    ctx_ddl.set_attribute('mywordlist','PREFIX_INDEX','TRUE');
    ctx_ddl.set_attribute('mywordlist','PREFIX_MIN_LENGTH',1);
    ctx_ddl.set_attribute('mywordlist','PREFIX_MAX_LENGTH', 5);
    ctx_ddl.set_attribute('mywordlist','SUBSTRING_INDEX', 'YES');

    END;


    --释放preference
    BEGIN
    ctx_ddl.drop_preference ('main_lexer');
    ctx_ddl.drop_preference ('mywordlist');
    END;

    --浏览自己创造的preference
    SELECT * FROM ctx_user_preferences ;

    --创建索引
    Drop Index myindex;

    --如果不显示的指定索引参数,系统会自动探测文本语言,数据类型和文档格式
    CREATE INDEX myindex ON EMPLOREE(first_name) INDEXTYPE IS CTXSYS.Context;


    /*如上命令建立了一个默认参数的CONTEXT索引myindex.系统默认:
    1. 文本存储在数据库中。可以是CLOB, BLOB, BFILE, VARCHAR2, or CHAR类型的文本数据。
    2. 文本列语言是数据库建立时的默认的字符集。
    3. 使用数据库默认的终止目录stoplist.stoplist记录存在于文本列中但不对其索引的词。
    4. 允许模糊查询。模糊查询阐述用%表示*/

    select * from EMPLOREE where contains(first_name,'D%A%') >0;

  • 相关阅读:
    JS替换字符
    sql 两个表字段叠加
    Qt实现窗口半透明显示
    Qt 设置窗口属性setWindowFlags函数
    ARM-Linux按键和旋钮控制
    飞凌开发板OK335xD烧写Linux镜像总结
    Qt QGraphics类应用——图片移动+选点缩放+控制移动区域
    Qt QGraphics类应用——地图缩放选点
    Ubuntu 同时使用有线和无线(有线连开发板,无限上网)
    Qt 自定义控件提升,头文件找不到的问题
  • 原文地址:https://www.cnblogs.com/bobzhangfw/p/768112.html
Copyright © 2011-2022 走看看