[6] SQL Server – wyszukiwanie pełnotekstowe

31 stycznia 2022 Wyłączono przez Adam [zicherka] Nogły

Zainstaluj 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)