Thứ Tư, 19 tháng 10, 2011

SQL Server: Full-Text Indexing

Full-text search là một cơ chế mà sql server cho phép bạn tìm kiếm một từ hay một cụm từ một cách hiệu quả và nhanh chóng. Chúng ta thường hay dùng toán tử like để tìm kiếm một chuỗi, ví dụ: TenWebsite like N'%CiOne', nghĩa là chúng ta đang muốn tìm danh sách tên các website nào miễn là có từ cuối cùng là CiOne. Việc tìm kiếm như vậy chỉ giúp cho chúng ta tìm hiệu quả được 1 từ hoặc nhiều từ nhưng phải đúng vị trí thứ tự.

Trên thực tế việc tìm kiếm của chúng ta phức tạp hơn rất nhiều, cái mà ta cần có thể là những từ đồng nghĩa, trái nghĩa hoặc nó không cần chính xác vị trí mà ở cạnh nhau hoặc đảo vị trí cũng cần phải xuất hiện, ví dụ các bạn muốn tìm những website nào mà có đào tạo cả tin học và ngoại ngữ, như vậy danh sách website bạn cần sẽ gồm có từ tin học và từ ngoại ngữ, không cần biết vị trí từ nào đứng trước và chúng cũng chẳng cần phải đứng sát nhau. Yêu cầu trên sẽ được full-text search giải quyết cho bạn. Bằng việc một vài thao tác cấu hình và cài đặt bằng tool hoặc dòng lệnh T-SQL và sau đó sử dụng hàm được hỗ trợ riêng cho full-text search (Contain và FreeText) là bạn có thể thực hiện đầy đủ các nhu cầu tìm kiếm ngay cả việc tìm những từ đồng nghĩa và trái nghĩa với từ khoá bạn cho vào. Tuyệt vời hơn nữa là full-text cho phép bạn loại bỏ những từ không còn thiết trong câu từ khoá bạn cần tìm (được hiểu là những từ noise), ví dụ bạn gõ câu từ khoá là full-text search là gì, thì full-text search sẽ tự động loại bỏ 2 từ "là" và "gì" để chỉ tìm cho bạn danh sách nào có chứa từ full-text search là từ khoá mà thực sự mình muốn tìm.

Trên đây là tổng quan về full-text search để bạn hiểu mục đích sử dụng, còn việc cấu hình và sử dụng thế nào thì bạn tham khảo website này để làm nhé. Tôi lưu ý một phần quan trọng mà bạn cần phải tìm hiểu là: full-text catalog, full-text index, các từ noise, 2 hàm contain và freetext. Website tham khảo::
link 1: simple-talk
link 2: databasejournal

(http://cione.com.vn/Questions/AnswerQuestion?Id=236)

Không có nhận xét nào:

Đăng nhận xét