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 : các loại màu trong tiếng anh
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 : 99 Hình Ảnh Giỏ Hoa & Lẵng Hoa Tươi Chúc Mừng Sinh Nhật Ngọt Ngào
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