zoukankan      html  css  js  c++  java
  • Sql2005 全文索引

    Microsoft SQL Server 2005 引入了新的 Transact-SQL 数据定义语言 (DDL) 语句,用来创建、实现和管理全文目录和索引。以下是新的全文搜索 DDL 语句的列表。

    CREATE FULLTEXT CATALOG (Transact-SQL)
    使用此语句可以为数据库创建全文目录。

    CREATE FULLTEXT INDEX (Transact-SQL)
    使用此语句可以针对数据库某个表的一列或多列创建全文索引。

    ALTER FULLTEXT CATALOG (Transact-SQL)
    使用此语句可以更改全文目录的属性。

    ALTER FULLTEXT INDEX (Transact-SQL)
    使用此语句可以更改全文索引的属性。

    DROP FULLTEXT CATALOG (Transact-SQL)
    使用此语句可以删除全文目录。

    DROP FULLTEXT INDEX (Transact-SQL)
    使用此语句可以从指定的表中删除全文索引。

    ----------------------------------------------------------------------------------

    而以下是老旧的sql2000的方法:

    ----------------------------------------------------------------------------------
    一个完整的SQL SERVER数据库全文索引的示例。(以pubs数据库为例)

    首先,介绍利用系统存储过程创建全文索引的具体步骤:

    1) 启动数据库的全文处理功能 (sp_fulltext_database)
    2) 建立全文目录 (sp_fulltext_catalog)
    3) 在全文目录中注册需要全文索引的表 (sp_fulltext_table)
    4) 指出表中需要全文索引的列名 (sp_fulltext_column)
    5) 为表创建全文索引 (sp_fulltext_table)
    6) 填充全文目录 (sp_fulltext_catalog)


    ---------********示例********-------------
    以对pubs数据库的title和notes列建立全文索引,之后使用索引查询title列或notes列中包含有datebase 或computer字符串的图书名称:

    在这之前,需要安装Microsoft Search服务,启动SQL server全文搜索服务


    user pubs --打开数据库
    go
    --检查数据库pubs是否支持全文索引,如果不支持
    --则使用sp_fulltext_database 打开该功能
    if(select databaseproperty('pubs','isfulltextenabled'))=0
    execute sp_fulltext_database 'enable'

    --建立全文目录FT_PUBS
    execute sp_fulltext_catalog 'FT_pubs','create'

    --为title表建立全文索引数据元
    execute sp_fulltext_table 'title','create','FT_pubs','UPKCL_titleidind'

    --设置全文索引列名
    execute sp_fulltext_column 'title','title','add'
    execute sp_fulltext_column 'title','notes','add'

    --建立全文索引
    --activate,是激活表的全文检索能力,也就是在全文目录中注册该表
    execute sp_fulltext_table 'title','activate'

    --填充全文索引目录
    execute sp_fulltext_catalog 'FT_pubs','start_full'
    go

    --检查全文目录填充情况
    While fulltextcatalogproperty('FT_pubs','populateStatus') <>0
    begin

    --如果全文目录正处于填充状态,则等待30秒后再检测一次
    waitfor delay '0:0:30'
    end

    --全文目录填充完成后,即可使用全文目录检索

    select title
    form
    where CONTAINS(title,'database')
    or CONTAINS(title,'computer')
    or CONTAINS(notes,'database')
    or CONTAINS(notes,'database')


    '--------------以下介绍一下全文操作类的系统存储过程
    过程名称:sp_fulltext_service
    执行权限:serveradmin或系统管理员
    作 用:设置全文搜索属性


    过程名称:sp_fulltext_catalog
    执行权限:db_owner及更高角色成员
    作 用:创建和删除一个全文目录,启动或停止一个全文目录的索引操作


    过程名称:sp_fulltext_database
    执行权限:db_owner角色成员
    作 用:初始化全文索引或删除数据库中所有全文目录


    过程名称:sp_fulltext_table
    执行权限:db_ddladnmin或db_owner角色成员
    作 用:将一个表标识为全文索引表或非全文索引表


    过程名称:sp_fulltext_column
    执行权限:db_ddladnmin角色成员
    作 用:指出一个全文索引表中的那些列假如或退出全文索引

  • 相关阅读:
    布局重用 include merge ViewStub
    AS 常用插件 MD
    AS 2.0新功能 Instant Run
    AS .ignore插件 忽略文件
    AS Gradle构建工具与Android plugin插件【大全】
    如何开通www国际域名个人网站
    倒计时实现方案总结 Timer Handler
    AS 进行单元测试
    RxJava 设计理念 观察者模式 Observable lambdas MD
    retrofit okhttp RxJava bk Gson Lambda 综合示例【配置】
  • 原文地址:https://www.cnblogs.com/wysimon/p/1319374.html
Copyright © 2011-2022 走看看