Bộ điều vận của máy tìm kiếm lớp trên gần giống với bộ xử lý truy vấn của máy tìm kiếm thông thường. Bộ xử lý truy vấn tạo ra các truy vấn đến cơ sở dữ liệu dựa trên các truy vấn đầu vào còn bộ điều vận thì tạo ra các truy vấn đến máy tìm kiếm thông thường từ truy vấn của người dùng. Một bộ điều vận phải xác định được các máy tìm kiếm mà nó sẽ truy vấn và làm thế nào để truy vấn trên chúng.
Hình 10. Một thiết kế của bộ điều vận [18]
Một bộ điều vận có thể bao gồm bốn thành phần:
Source Selector: Thành phần này sẽ lựa chọn các máy tìm kiếm thông thường để
truy vấn trên nó. Nếu bộ điều vận gửi yêu cầu đến quá nhiều máy tìm kiếm thì có thể sẽ làm quá tải tài nguyên mạng và do đó sẽ mất nhiều thời gian để hoàn tất công việc tìm kiếm. Việc quyết định gửi yêu cầu đến máy tìm kiếm nào là rất quan trọng, bởi vì mỗi máy tìm kiếm khác nhau sẽ cho tập dữ liệu khác nhau và sẽ ảnh hưởng đến kết quả tìm kiếm của máy tìm kiếm lớp trên. Nếu máy tìm kiếm X cho kết quả trả về quá tốt, hơn hẳn máy tìm kiếm Y và Z, thì máy tìm kiếm lớp trên kết hợp cả ba máy này
36
chưa chắc đã có kết quả tìm kiếm tốt hơn kết quả của X. Tuy nhiên, nếu kết hợp các kết quả của các máy tìm kiếm khác không quá tốt lại có thể giúp cho kết quả tốt hơn.
Query Generator: thực hiện việc sửa đổi các truy vấn sao cho phù hợp với mỗi
máy tìm kiếm nguồn. Mỗi máy tìm kiếm thường chỉ làm việc hiệu quả trên một số dạng truy vấn nhất định. Do đó, một truy vấn không thích hợp sẽ mang lại kết quả tìm kiếm không tốt.
Request Generator: Thành phần tạo yêu cầu kết hợp truy vấn của người dùng với
máy tìm kiếm nguồn được lựa chọn và lựa chọn truy vấn sửa đổi để tạo một yêu cầu hợp lệ.
Request Submitter: Thành phần này nhận các yêu cầu từ request generator và
thực thi chúng. Request submitter phải tương tác với các giao thức cấp thấp và đảm bảo rằng các lỗi xảy ra được ghi lại một cách thích hợp.