[6] SQL Server – wyszukiwanie pełnotekstowe
31 stycznia 2022Zainstaluj wyszukiwanie pełno tekstowe programu SQL Server, aby włączyć wyszukiwanie pełno tekstowe w tabelach.
[1] Zainstaluj SQL Server Full-Text Search. (Dodaj repozytorium MS SQL)
[root@vlsr01 ~]# dnf install mssql-server-fts [root@vlsr01 ~]# systemctl restart mssql-server
[2] Uruchom w celu testów wyszukiwanie pełno tekstowe.
[root@vlsr01 ~]# sqlcmd -S localhost -U SA Password: #wpisz hasło #podłącz się do testowej bazy 1> use SampleDB; 2> go Changed database context to 'SampleDB'. #to jest testowa tabela w testowej bazie danych 1> select * from dbo.Sample_Table; 2> go Number First_Name Last_Name Last_Update Description ---------- -------------------------------------------------- -------------------------------------------------- ---------------- -------------------------------------------------- 00001 CentOS Linux 2022-01-29 To jest system CentOS 00002 RedHat Linux 2022-01-29 To jest RehHat Linux 00003 Debian Linux 2022-01-30 A to jest DEBIAN 00004 Ubuntu Linux 2022-01-30 To jest Linux UBUNTU 00005 Windows Microsoft 2022-01-30 Microsoft Windows (5 rows affected) #stworz pełnotekstowy katalog do wyszukiwania [Sample_TBCat] 1> create fulltext catalog Sample_TBCat; 2> go #stwórz unikalny index [Number] w kolumnie [UIDoc] 1> create unique index UIDoc on Sample_Table(Number); 2> go #stwórz pełnotekstowy index w katalogu [Sample_TBCat] 1> create fulltext index on Sample_Table(First_Name,Description) 2> key index UIDoc on Sample_TBCat; 3> go #uruchom pełnotekstowe przeszukiwanie 1> select * from dbo.Sample_Table where contains((First_Name,Description),'Linux'); 2> go Number First_Name Last_Name Last_Update Description ---------- -------------------------------------------------- -------------------------------------------------- ---------------- -------------------------------------------------- 00002 RedHat Linux 2022-01-29 To jest RehHat Linux 00004 Ubuntu Linux 2022-01-30 To jest Linux UBUNTU (2 rows affected) #uruchom pełnotekstowe przeszukiwanie 1> select * from dbo.Sample_Table where freetext((Description),'to or Microsoft'); 2> go #warunek wyszukiwania pełnotekstowego zawierał słowo zakłócające #wyraz „to” zapisany jest jako „to” oraz „To”, dlatego nie został uwzględniony w wyszukiwaniu Informational: The full-text search condition contained noise word(s). Number First_Name Last_Name Last_Update Description ---------- -------------------------------------------------- -------------------------------------------------- ---------------- -------------------------------------------------- 00005 Windows Microsoft 2022-01-30 Microsoft Windows (1 rows affected)