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