博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql server 2008全文索引干扰词示例
阅读量:4213 次
发布时间:2019-05-26

本文共 1328 字,大约阅读时间需要 4 分钟。

处理网站查询包含”之”字出现”全文搜索条件中包含干扰词”现象的总结:

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

你可能感兴趣的文章
a标签中调用js方法
查看>>
js函数中传入的event参数
查看>>
[hive]优化策略
查看>>
c++14现代内存管理
查看>>
右值引用,move语义和完美转发
查看>>
c++使用宏检测类是否包含某个函数或者变量属性
查看>>
CSS之Multi-columns的column-gap和column-rule
查看>>
CSS之Multi-columns的跨列
查看>>
CSS之浮动(一)
查看>>
CSS之浮动(二)
查看>>
AtomicInteger源码解析
查看>>
CopyOnWriteArraySet源码学习
查看>>
ThreadLocal学习笔记
查看>>
用talib实现基于emv的简易量化投资策略
查看>>
LongAdder源码解析
查看>>
CAS机制是什么?
查看>>
Semaphore源码解析
查看>>
ConcurrentLinkedDeque源码解析
查看>>
ReentrantLock源码解析
查看>>
StampedLock源码解析
查看>>