CentOS 7
Sponsored Link

SQL Server 2017 : Full-Text Search
2017/10/11
 
SQL Server Full-Text Search をインストールすると、テーブルに対してフルテキスト検索が可能となります。
[1] SQL Server Full-Text Search をインストールします。(MS SQL 2017 リポジトリより)
[root@dlp ~]#
yum -y install mssql-server-fts
[root@dlp ~]#
systemctl restart mssql-server

[2] フルテキスト検索の簡単なテストです。
[root@dlp ~]#
sqlcmd -S localhost -U SA

Password:

# テスト用サンプルデータベースに接続
1> use SampleDB;
2> go
Changed database context to 'SampleDB'.

# テスト用サンプルテーブル
1> select * from dbo.Sample_Table;
2> go
ID         Name           Description                                               
---------- -------------- ----------------------------------------------------------
01         CentOS         This is the Community Enterprise Operating System.        
02         RedHat         RedHat Enterprise Linux.                                  
03         Debian         Debian GNU Linux.                                         
04         Ubuntu         Ubuntu is based on the Debian architecture.               
05         Windows        Microsoft Windows                                         

(5 rows affected)

# [Sample_TBCat] という名称のフルテキストカタログ作成
1> create fulltext catalog Sample_TBCat;
2> go

# [ID] 列に対して [UIDoc] という名称のユニークインデックス作成
1> create unique index UIDoc on Sample_Table(ID);
2> go

# [Sample_TBCat] カタログにフルテキストインデックス作成
1> create fulltext index on Sample_Table(Name,Description)
2> key index UIDoc on Sample_TBCat;
3> go


# [Name,Description] 列に対して [Enterprise] キーワードが含まれる行を検索
1> select * from dbo.Sample_Table where contains((Name,Description),'Enterprise');
2> go
ID         Name               Description                                         
---------- ------------------ ----------------------------------------------------
001        CentOS             This is the Community Enterprise Operating System.  
002        RedHat             RedHat Enterprise Linux.                            

(2 rows affected)

# [Description] 列に対して [GNU] または [architecture] キーワードが含まれる行を検索
1> select * from dbo.Sample_Table where freetext((Description),'GNU or architecture');
2> go
ID         Name               Description                                         
---------- ------------------ ----------------------------------------------------
004        Ubuntu             Ubuntu is based on the Debian architecture.         
003        Debian             Debian GNU Linux.                                   

(2 rows affected)
 
Tweet