zoukankan      html  css  js  c++  java
  • 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('目标表'))

    以下为我的分词效果:

  • 相关阅读:
    JDBC的简单笔记
    javascript学习笔记二
    javascript学习一、js的初步了解
    css的简单学习笔记
    c++ 拷贝构造函数
    C++ new delete
    c++ 析构函数
    c++成员初始化和构造函数
    C++ 类和对象浅解
    c++ constexpr
  • 原文地址:https://www.cnblogs.com/cuihongyu3503319/p/9273078.html
Copyright © 2011-2022 走看看