Ngồi các phần giao diện tương tác người dùng Một mơ hình tìm kiếm theo Search Engine nhất thiết phải cĩ hai phần: tạo chỉ mục và tìm kiếm thơng tin
3.1.1 Tạo chỉ mục
Trong phần tạo chỉ mục, trước hết phải xác định thơng tin tạo chỉ mục, thơng tin cĩ thể chứa trong cơ sở dữ liệu cĩ thể chứa trong một thiết bị lưu trữ, bộ nhớ ngồi hoặc trong. ứng dụng tìm kiếm sách điện tử xác định dữ liệu cần index là các file chứa trong thư mục định trước, người dùng cĩ thể chọn thư mục này trong trang “tạo chỉ mục”, chương trình gọi đến lớp IndexHTML lớp này nhận tham số là đường dẫn tới thư mục, duyệt qua các file trong thư mục này và
trong các thư mục con tìm ra các file cĩ định dạng “text”, “html”, “htm” tạo chỉ mục cho nĩ theo phương pháp đệ quy.
if (file.isDirectory()) { // if a directory String[] files = file.list(); // list its files Arrays.sort(files); // sort the files
for (int i = 0; i < files.length; i++) // recursively index them indexDocs(new File(file, files[i]));
} else if (file.getPath().endsWith(".html") || // index .html files file.getPath().endsWith(".htm") || // index .htm files file.getPath().endsWith(".txt")) { // index .txt files ...
Sau khi xác định thơng tin cần tạo chỉ mục, dựa vào các yêu cầu tìm kiếm chúng ta cĩ thể Index thơng tin theo các phương pháp khác nhau, đối với phương pháp tạo chỉ mục bằng phương pháp véc tơ cơng đoạn này xác định các véc tơ tương ứng với mỗi mẫu thơng tin, tính tốn độ quan trọng của từng từ khố, việc xác định các từ khố thực hiện đơn giản bằng cách xây dựng một đối tượng Tokenizer cĩ sẵn trong bộ thư viện Java, tính tốn trọng số của các từ này bằng các cơng thức đã xây dựng trong chương 1 xác định được một ma trận chỉ mục hồn chỉnh. Do ứng dụng tìm kiếm sách điện tử là ứng dụng thử nghiệm, sử dụng phương pháp tạo file kí hiệu (signature file) bằng cách tạo ra các file mơ tả thơng tin cần tạo chỉ mục. Nĩ tiến hành định dạng bằng cách tạo ra một đối tương document với tham số là file cần tạo chỉ mục
Document doc = HTMLDocument.Document(file);
Phương thức này lưu các thơng tin của tài liệu dưới dạng các trường (Field ) cĩ bốn trường được sử dụng là :
tiêu đề tài liệu (title)
nội dung tĩm tắt (summary)
ngày tháng cập nhật tài liệu (modified)
nội dung tài liệu (content)
Các thơng tin này được xác định nhờ lớp phân tích nội dung tài liệu và lưu lại thành một file (Signature file).
3.1.2 Tìm kiếm
Sau khi đã tạo chỉ mục phương thức tìm kiếm sẽ thao tác trên thư mục đĩ. Với một câu truy vấn nhận được chương trình phải phân tích xác định được các từ khố cần thiết, loại bỏ các thơng tin dư thừa, nếu sử dụng phương pháp tạo chỉ mục bằng véc tơ ta biễu diễn câu truy vấn dưới dạng một véc tơ, so sánh nĩ với các véc tơ trong ma trận chỉ mục tìm ra các tài liệu thoả mãn, chương trình tìm kiếm sách điện tử dử dụng phương pháp tạo chỉ mục file kí hiệu vì vậy việc tìm kiếm chỉ đơn giản là đối sánh các từ khố, tìm ra các tài liệu cĩ chứa các từ khố này đưa ra kết quả.
Việc tìm kiếm này được thực hiện bởi lớp Searcher kết quả được xử lý, tính tốn trong result.jsp kết quả trả về được xắp xếp hiển thị với số lượng tuỳ theo lựa chọn người dùng.