Các quá trình khác
Một search engine đầy đủ các tính năng, đặc biệt là chạy trên website, ngoài crawling, indexing và searching, thì một engine cũng cần phải có:
· Administration: theo dõi trạng thái của ứng dụng, cấu hình các thành phần khác nhau, chạy và dừng các máy chủ.
· Analytics: thống kê người dùng đang tìm kiếm gì, đưa ra lời hướng dẫn xem cái gì đang hoạt động và cái gì không.
· Scaling: đối với một ứng dụng tìm kiếm lớn, việc mở rộng theo cả khối lượng nội dung và số lượng yêu cầu tìm kiếm đồng thời là tính năng quan trọng.
1. Administration Interface
Search engine hiện đại là một phần mềm rất phức tạp và có vô số tính năng cần phải được cấu hình. Đối với crawler dùng để khai phá nội dung, administration interface phải cho phép đặt các URL gốc, tạo quy luật quyết định site nào crawler nên đến, những loại document nào nó nên duyệt qua, thời gian cho phép để đọc một document là bao lâu. Một số ví dụ khác có thể kể đến như mở, tắt máy chủ, quản lý các bản tái tạo (dùng để tăng mức độ sẵn sàng), tạo search log, kiểm tra toàn bộ sức khỏe của hệ thống, tạo và phục hồi các bản sao lưu.
Trong quá trình indexing, search engine có thể cho phép tinh chỉnh dung lượng RAM được sử dụng cho vùng nhớ đệm, số lượng các segment trộn cùng lúc, mức độ thường xuyên để cập nhật các thay đổi, hoặc khi nào tối ưu và xóa bỏ các chỉ mục. Administration interface cũng tổng kết một vài thông tin cơ bản về chỉ mục như đếm các segment và số lượng các phép xóa đang chờ thực hiện. Nếu có bất kỳ document nào gặp vấn đề khi đánh chỉ mục, hoặc câu truy vấn nào gặp lỗi ngoại lệ khi tìm kiếm thì cũng cần được hiển thị cho quản trị viên biết.
Nhiều ứng dụng tìm kiếm, ví dụ như trên desktop không cần thành phần giao diện quản trị. Ngược lại, những ứng dụng tìm kiếm trong doanh nghiệp lại có giao diện quản trị rất phức tạp được xây dựng trên nền web, hoặc bằng một số công cụ dòng lệnh.
2. Analytics Interface
Analytics interface thường được xây dựng dưới dạng web, chạy trên một máy chủ riêng, đóng vai trò như một bộ máy chuyên lập báo cáo. Việc phân tích dữ liệu tìm kiếm rất quan trọng, bởi vì nó giúp cho quản trị viên học được nhiều điều từ người dùng, điển hình như tại sao khách hàng lại mua hoặc không mua hàng hóa thông qua website, bằng cách theo dõi search log. Sự triển khai một search engine tốt mang lại khả năng khai phá dữ liệu cao. Website thương mại điện tử có thể từ thông tin tìm kiếm của người dùng – như những lần tìm kiếm nào chưa đem lại kết quả thỏa mãn, những kết quả nào được click, những sản phẩm nào được mua hoặc chưa mua sau mỗi lần tìm – để tối ưu trải nghiệm mua sắm.
3. Scaling
Khó khăn đặc biệt cho ứng dụng tìm kiếm là mở rộng về qui mô. Phần lớn các ứng dụng không có đủ nội dung cũng như lượng truy cập đồng thời để qui mô vượt quá một máy tính. Những ứng dụng lớn đặt ra yêu cầu sử dụng 2 hay nhiều máy tính riêng biệt để không bao giờ gặp lỗi (không có thời gian chết), hoặc có thể lấy một phần nội dung để bảo trì, nâng cấp mà không ảnh hưởng đến hệ thống.
Có 2 yếu tố cần được mở rộng: khối lượng nội dung và thông lượng truy vấn.
· Một khối lượng khổng lồ về nội dung cần phải được chia thành các mảnh nhỏ, sao cho mỗi máy tính tìm kiếm trên một mảnh. Máy chủ truy vấn gửi lệnh tìm kiếm tới tất cả các mảnh, sau đó tổng hợp các kết quả trả về thành một tập hợp kết quả duy nhất.
· Trong trường hợp thông lượng truy vấn trong thời gian đỉnh điểm là rất cao, biện pháp đặt ra là cài đặt bản tái tạo của chỉ mục trên nhiều máy tính khác nhau. Lúc này, máy chủ truy vấn sẽ cân bằng tải bằng cách gửi yêu cầu đến máy tính đang có ít công việc nhất.
Thông thường web search engine đòi hỏi mở rộng cả 2 yếu tố, do đó phải kết hợp cả 2 giải pháp nêu trên, chúng đều yêu cầu chia sẻ các bản sao chỉ mục trên nhiều máy tính.

No comments yet.