Sử dụng Lucene.Net trong tìm kiếm

Một phần của tài liệu Website bán hàng dựa trên vị trí (Trang 58 - 60)

Lucene.Net là một thư viện hỗ trợ tìm kiếm toàn văn (full-text search) trong các ứng dụng .Net. Đây là một thư viện mạnh mẽ cho phép tìm kiếm toàn văn với độ chính xác cao, khả năng tùy biến lớn và tốc độ nhanh. Người dùng có thể tùy chỉnh cách nó phân tích dữ liệu, xác định độ ưu tiên của các kết quả tìm kiếm, loại bỏ những từ không cần thiết khi đánh chỉ mục (ví dụ như các mạo từ trong tiếng Anh). Bên cạnh đó, nó có thể thực hiện đánh chỉ mục và tìm kiếm trên nhiều định dạng dữ liệu khác nhau. Đó có thể là một trường dữ liệu trong các hệ quản trị cơ sở dữ liệu, có thể là một tập tin Microsoft Office Word, Excel, PowerPoint hoặc một tập tin .txt, hay thậm chí là một tập tin pdf. Với những lý do trên, nhóm chọn sử dụng Lucene.Net thay vì chức năng tìm kiếm toàn văn của hệ quản trị cơ sở dữ liệu Microsoft Sql Server.

42

Để thực hiện tìm kiếm trên Lucene.Net, ta cần phải thực hiện hai thao tác. Một là thực hiện đánh chỉ mục cho dữ liệu cần tìm kiếm. Hai là thực hiện tìm kiếm. Bản thân Lucene.Net cũng gồm hai thành phần chính: thành phần tạo chỉ mục và thành phần tìm kiếm.

Thành phần tạo chỉ mục: xác định cách thức phân tích dữ liệu đầu vào, độ ưu

tiên của các trường thông tin và tạo ra tập chỉ mục. Nó gồm các thành phần cơ bản sau: - Directory: nơi lưu trữ tập chỉ mục.

- Document và Field: định nghĩa ra các trường và các tài liệu dùng để lưu trữ

dữ liệu chỉ mục, phục vụ cho việc tìm kiếm.

- Analyzer: phân tách dữ liệu đầu vào, chuẩn hóa dữ liệu, loại bỏ những từ

không cần thiết, … cuối cùng tạo ra các từ khóa (cụm từ khóa) cùng với những thông tin như vị trí xuất hiện, vị trí kết thúc để chuẩn bị cho việc tạo chỉ mục.

- IndexWriter: thực hiện ghi các Document xuống tập chỉ mục, tạo mới hoặc cập nhật nội dung tập chỉ mục.

Thành phần tìm kiếm: phân tích dữ liệu người dùng nhập vào, tạo ra các truy

vấn (Query) và tìm kiếm trên tập chỉ mục, đồng thời cho phép thực hiện các thiết đặt nâng cao như phân trang, số lượng kết quả, giới hạn thời gian, … Nó gồm các thành phần cơ bản sau:

- Query: bản chất là một chuỗi văn bản chứa câu lệnh truy vấn, được tạo thành

sau khi parser phân tích chuỗi văn bản người dùng nhập vào.

- IndexSearcher: thực hiện việc tìm kiếm trên tập chỉ mục do IndexWriter ghi

xuống.

- Hit (hoặc TopDoc trong những phiên bản Lucene.Net mới): chứa các tài liệu

43

Quy trình tạo chỉ mục và tìm kiếm có thể được biểu diễn như sau:

Hình 3-7: Quy trình tạo chỉ mục và tìm kiếm sử dụng Lucene.Net

Một phần của tài liệu Website bán hàng dựa trên vị trí (Trang 58 - 60)

Tải bản đầy đủ (PDF)

(157 trang)