CentOS Stream 8
Sponsored Link

SQL Server 2019 : Full-Text Search2021/05/30

 
SQL Server Full-Text Search をインストールすると、テーブルに対してフルテキスト検索が可能となります。
[1] SQL Server Full-Text Search をインストールします。(MS SQL 2019 リポジトリより)
[root@dlp ~]#
dnf -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
Number     First_Name    Last_Name      Description
---------- ------------- -------------- --------------------------------------------------
00001      CentOS        Linux          This is the Community Enterprise Operating System.
00002      RedHat        Linux          RedHat Enterprise Linux.
00003      Debian        Linux          Debian GNU Linux.
00004      Ubuntu        Linux          Ubuntu is based on the Debian architecture.
00005      Windows       Microsoft      Microsoft Windows

(5 rows affected)

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

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

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


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

(2 rows affected)

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

(2 rows affected)
関連コンテンツ