Sql Server-使用Sql Server自带的分词功能实现字段关键词提取(分词能力很低,慎用)

“创建全文索引

启动服务

 在SQL Server配置管理工具中,找到'SQL Full-text Filter Daemon Launcher'服务用本地用户启动。

 

创建全文目录

 打开需要创建全文目录的数据库-存储-全文目录-右键新建全文目录

用语句创建全文目录 

CREATE FULLTEXT CATALOG [FD_HouseSearch]WITH ACCENT_SENSITIVITY = ON AS DEFAULT AUTHORIZATION [dbo]

此外还可以通过存储过程创建全文目录,并且可以指定全文目录文件所在磁盘上的位置,如下所示:

复制代码
USE [pratice]
GO



--创建全文索引的方式1: -------------开启全文索引和创建全文索引目录 全文目录创建的路径是D:\fulltext --fulltext_pratice是自己自定义的全文目录名称 EXEC [sys].[sp_fulltext_database] @action = 'enable' -- varchar(20) --如果数据库中已存在全文目录fulltext_pratice要先drop掉 --EXEC [sys].[sp_fulltext_catalog] @ftcat = 'fulltext_pratice', -- sysname -- @action = 'drop' -- varchar(20) EXEC [sys].[sp_fulltext_catalog] @ftcat = 'fulltext_pratice', -- sysname @action = 'create', -- varchar(20) @path = N'D:\fulltext' -- nvarchar(101)
复制代码

当然使用SSMS创建全文目录的时候也会有一个选项叫你选择目录位置,全文索引就存放在这个位置

 

创建全文索引

 右键需要创建全文索引的表-全文索引-定义全文索引

1.全文索引必须要有一个唯一非空索引,这里选择主键。

2.选择需要全文搜索的列,并且选择断字符语言,因为该字段主要用来存储中文,所以这里也选择了简体中文。

断字符:断字符用来对全文搜索数据进行语言分析,查找单词的边界,也就是怎样将一段很长的内容拆分成日常的词语或字。例如“全文搜索”,可能会断字成“全文”、‘搜索’、‘全’、‘文’、‘搜’、‘索’等符合中国人正常的习惯的词或字。

3.选择跟踪方式,这里选择自动跟踪,就是表发生更改时自动填充索引。

4.选择全文目录、索引文件、非索引字表

非索引字表:在刚才的断字中讲了怎样断字,这里就是将断的字保存在一张表中,该处选择系统默认的非索引字表.

----查询断字表
SELECT TOP 1000 * FROM sys.dm_fts_index_keywords(db_id(''), object_id(''))

从该链接的第四步当中:

SELECT TOP 1000 * FROM sys.dm_fts_index_keywords(db_id('数据库名称'), object_id('目标表'))

以下为我的分词效果:

猜你喜欢

转载自www.cnblogs.com/cuihongyu3503319/p/9273078.html