• sql server 2008全文索引干扰词示例


    处理网站查询包含”之”字出现”全文搜索条件中包含干扰词”现象的总结:
    author:perfectaction
    Sql server 2008全文索引的干扰词表默认在Resource库系统表内,无法更改,但sql2008提供了自定义干扰词表的功能,可绑定到某个全文索引上。

    相关操作如下:

    --sql server 2008 全文索引建立及创建全文非索引字表(干扰词表)
    --
    以dbtest的user_info表为例
    --
    选择数据库
    USE dbtest
    GO

    --创建全文目录,这个是逻辑名
    CREATE FULLTEXT CATALOG user_info AS DEFAULT;
    GO

    --创建全文非索引字表(干扰词表)
    CREATE FULLTEXT STOPLIST T_FULLTEXT_STOPLIST_user_info --全文非索引字表表名
    FROM SYSTEM STOPLIST; --从系统全文非索引字表导入

    --删除我们不需要的干扰词,如"之"字
    ALTER FULLTEXT STOPLIST [T_FULLTEXT_STOPLIST_user_info] 
    DROP '' LANGUAGE 'Simplified Chinese';

    --增加我们需要的干扰词,如"之"字
    ALTER FULLTEXT STOPLIST [T_FULLTEXT_STOPLIST_user_info] 
    ADD '' LANGUAGE 'Simplified Chinese';


    --创建表user_info的全文索引
    CREATE FULLTEXT INDEX ON [dbo].[user_info] --表名
    ([mem_name] --列名
    LANGUAGE [Simplified Chinese])
    KEY INDEX [PK_user_info] --聚集索引名
    ON (FILEGROUP [ftfg_FT_user_info]--指定文件组名,如不指定,则存在当前表所在文件组
    WITH (CHANGE_TRACKING = AUTO, 
    STOPLIST 
    =T_FULLTEXT_STOPLIST_user_info --指定使用的全文非索引字表
    )


    --其它:
    --
    对已存在全文索引指定全文非索引字表,命令执行后,
    --
    如果CHANGE_TRACKING = AUTO,则会自动修改已填充索引,但不会全部重填
    ALTER FULLTEXT INDEX on user_info --表名
    SET STOPLIST =SYSTEM  --指定使用的全文非索引字表为系统自带

    ALTER FULLTEXT INDEX on user_info --表名
    SET STOPLIST=T_FULLTEXT_STOPLIST_user_info  ;--指定使用的全文非索引字表为用户自定义

    --启动填充,如果CHANGE_TRACKING != AUTO,则需要启动一次填充才使新设定的全文非索引字表生效;
    ALTER FULLTEXT INDEX on user_info --表名
    START FULL POPULATION

  • 相关阅读:
    jsp转向
    什么是 XDoclet?
    tomcat中的几点配置说明
    mysql5问题
    POJ 3734 Blocks
    POJ 2409 Let it Bead
    HDU 1171 Big Event in HDU
    POJ 3046 Ant Counting
    HDU 2082 找单词
    POJ 1286 Necklace of Beads
  • 原文地址:https://www.cnblogs.com/nzperfect/p/1503142.html
Copyright © 2020-2023  润新知