Full-Text Search là gì? Hướng dẫn sử dụng Full-Text Search trong SQL Server

Cùng xem Full-Text Search là gì? Hướng dẫn sử dụng Full-Text Search trong SQL Server trên youtube.

Nội dung

  • Full-Text Search là gì? Và chúng ta sử dụng nó như thế nào?
  • Hướng dẫn kiểm tra Full-Text Search đã được cài đặt hay chưa
  • Sử dụng Full-text Search trên SQL Server
  • Kiểm tra hoạt động của Full-Text Search

Full-Text Search là gì? Và chúng ta sử dụng nó như thế nào?

Trong mỗi ứng dụng Application hay website thì chức năng tìm kiếm thì không bao giờ thiếu. Vậy nên chức năng tìm kiếm là rất quan trọng.

Như các bạn đã biết, thường tìm kiếm chúng ta thường sử dụng từ khóa “LIKE” để trả về cho chúng ta kết quả gần đúng. Tuy nhiên, trong thực tế thì với việc tìm kiếm sử dụng từ khóa “LIKE” đôi khi cho chúng ta kết quả không được mong muốn. Mình xin ví dụ:

Ví dụ:

Ở một trang web bán hàng, khi chúng ta đánh cụm từ “giày bóng dá”, người dùng mong muốn nhận được kết quả có từ: “giày bóng đá”, “bóng đá”, “đá bóng”,”giày”,”bóng”… Vị trí của các từ xuất hiện trong kết quả có thể không giống với cụm từ đưa vào, mà có sự đảo ngược lại, đồng nghĩa, trái nghĩa.

Các bạn có thể tìm kiếm này bằng cách code, tuy nhiên chúng ta sẽ thực hiện rất khó khăn và phức tạp. Ngoài ra, Full Text Search sẽ cho tốc độ tìm kiếm nhanh hơn cách thông thường.

Hiện tại các hệ quản trị cơ sở dữ liệu như SQL SERVER hay MY SQL đều có đã tích hợp sẵn chức năng FULL-TEXT Search cho chúng ta sử dụng.

  • Tìm từ đồng nghĩa (VD đưa vào là: “man”, sẽ tìm các từ có “man” và “men”).
  • Tìm từ gần đúng, so từng từ trong cụm từ, đảo vị trí.
  • Hỗ trợ tìm kiếm có đấu (VD đưa vào: “Giay bong da”, vẫn sẽ tìm ra kết quả “giày bóng đá”).
  • Loại bỏ các từ khóa nhiễu (noise).

Hướng dẫn kiểm tra Full-Text Search đã được cài đặt hay chưa

Đầu tiên là kiểm tra cài đặt Full Text Search, mở SQL Studio Management. Các bạn kiểm tra bằng câu truy vấn sau:

SELECT SERVERPROPERTY(‘IsFullTextInstalled’)

nếu câu lệnh cho kết quả 0 nghĩa là Full-text chưa được cài đặt. kết quả bằng 1 nghĩa là đã được cài đặt

Sử dụng Full-text Search trên SQL Server

Để thử nghiệm Full-text Search, chúng ta cần có database. Mình đã chuẩn bị sẵn cho các bạn 1 database sản phẩm với hơn 1000 entries.

Xem Thêm : Mời bạn chiêm ngưỡng và tải về sử dụng bộ hình nền siêu cuốn hút của Huawei Mate 40, dành cho mọi thiết bị iOS và Android

Bước 1 : Chúng ta bắt đầu cài đặt catalog cho database.

Tiếp theo các bạn vui lòng chọn Accent-insensitive.

Kết quả sau khi tạo xong catalog

Bước 2 : Tạo full-text index cho cột Name của sản phẩm. Chúng ta có thể define Full-text index bằng câu lệnh query, trong bài này mình sẽ hướng dẫn cách dùng Full-text Wizard

Click phải vào bảng cần tạo full-text index -> Chọn Full-Text index -> define Full-text index

Click Next ở các bước tiếp theo cho tới khi xuất hiện cửa sổ Select Table Columns

Tiếp theo check vào cột cần tạo index và chọn ngôn ngữ tương ứng

Tiếp theo chọn Automatically. Mỗi khi có thay đổi (Insert, update, delete), full-text index sẽ tự động cập nhật. Việc này có thể làm quá trình insert/update/delete chậm đi.

Chọn Full-Text Catalog đã tạo ở Bước 1

Nhấn Finish ở bước cuối cùng

Kiểm tra hoạt động của Full-Text Search

Vậy là các bước thực hiện tạo catalog trên database đã hoàn tất. Bây giờ, chúng ta bắt đầu test Full text search nó khác với “LIKE” như thế nào?

Ví dụ, chúng ta muốn tìm tất cả các sản phẩm có chữ “Bình” trong tên.

Xem Thêm : ki tu dep trong zing speed

Ta cùng test thử với 3 câu query như sau

SELECT * FROM Dongnaiartuct WHERE [Name] LIKE N’%binh%’ SELECT * FROM Dongnaiartuct WHERE [Name] LIKE N’%bình%’ SELECT * FROM Dongnaiartuct WHERE CONTAINS([Name],’binh’)

Ở câu query đầu tiên sẽ không cho ra kết quả gì hết. vì lý do tìm kiến like với từ khóa binh (không dấu)

Ở câu query thứ 2 và 3 cho chúng ta kết quả như nhau.

Như ta thấy, với câu query cuối cùng (Có CONTAINS, chúng ta chỉ cần chữ ‘binh‘ là đã có kết quả đúng)

Ta tiếp tục thử với 2 câu query sau

SELECT * FROM Dongnaiartuct WHERE [Name] LIKE N’%chu%’ SELECT * FROM Dongnaiartuct WHERE CONTAINS([Name],’chu’)

Ta sẽ thấy, với kí tự “chu”, toán tử LIKE cho kết quả có “chuột”, trong khi Full-text tìm các kết quả có từ “chữ”, “chủ”…, đúng với yêu cầu hơn

Ngoài toàn tử CONTAINS , còn hỗ trợ toán tự FREETEXT, FREETEXTTABLE,… cũng rất hay. Các bạn có thể tham khảo thêm tài liệu riêng về query tại đây

Tham khảo các dịch vụ VPS – CLoud Server tại P.A Dongnaiart/vn/Dongnaiart Xem thêm nhiều kiến thức về Cơ sử dữ liêu tại đây Truy cập vào đây để nhận được thông tin ưu đãi -khuyến mãi thường xuyên Dongnaiart/vn/tin-tuc-chuong-trinh-khuyen-mai-ten-mien-hosting.html

5 / 5 ( 1 bình chọn )

No related posts.

Nguồn: https://dongnaiart.edu.vn
Danh mục: Tin tức

Lời kết: Trên đây là bài viết Full-Text Search là gì? Hướng dẫn sử dụng Full-Text Search trong SQL Server. Hy vọng với bài viết này bạn có thể giúp ích cho bạn trong cuộc sống, hãy cùng đọc và theo dõi những bài viết hay của chúng tôi hàng ngày trên website: Dongnaiart.edu.vn

Related Posts

Xổ số Thừa Thiên Huế: Lựa chọn hàng đầu của lô thủ!

Xổ số Thừa Thiên Huế: Lựa chọn hàng đầu của lô thủ!

Có thể bạn quan tâm phần mềm hay cho blackberry 10 Cố ý gián tiếp là gì? – Quy định mới nhất 2021 – Luật Sư X…

Điều khác biệt của chương trình đào tạo quốc tế cấp trung học sở 

Điều khác biệt của chương trình đào tạo quốc tế cấp trung học sở 

Chương trình đào tạo quốc tế chắc hẳn không còn là điều gì đó quá xa lạ với mọi người. Song vẫn còn rất nhiều bậc phụ…

Kèo châu Á là gì? Kinh nghiệm cá cược kèo châu Á bất bại 2024

Kèo châu Á là gì? Kinh nghiệm cá cược kèo châu Á bất bại 2024

Kèo châu Á là gì? Kèo châu Á là một loại kèo cá cược phổ biến trong bóng đá và nhiều môn thể thao khác tại thabet. Đây…

Lý do bạn nên tải app Sin88 về điện thoại tham gia cá cược

Lý do bạn nên tải app Sin88 về điện thoại tham gia cá cược

Bạn muốn tìm kiếm một sân chơi cá cược uy tín, chất lượng và mang đến những trải nghiệm tuyệt vời? Sin88 – ứng dụng cá cược…

Bắn cá đổi thưởng là gì? Kinh nghiệm chơi bắn cá đổi thưởng luôn thắng

Bắn cá đổi thưởng là gì? Kinh nghiệm chơi bắn cá đổi thưởng luôn thắng

Bắn cá đổi thưởng là gì? Bắn cá U888 đổi thưởng là một loại hình giải trí trực tuyến phổ biến trong ngành game online. Dưới đây là…

Cup C1 – Những thông tin giới thiệu về giải đấu Champion League

Cup C1 – Những thông tin giới thiệu về giải đấu Champion League

Cup C1 hay còn được gọi với một tên gọi khác đó chính là Champion League, đây là một trong những giải đấu bóng đá phổ biến…