Công cụ tìm kiếm web là một máy chủ máy tính chuyên dụng để tìm kiếm dữ liệu trên Web. Kết quả tìm kiếm của truy vấn người dùng được khôi phục dưới dạng danh sách (được gọi là lần truy cập). Các lần truy cập có thể bao gồm các trang web, hình ảnh và các loại tệp khác nhau.
Có nhiều công cụ tìm kiếm cũng tìm kiếm và trả về dữ liệu có sẵn trong cơ sở dữ liệu công cộng hoặc thư mục mở. Các công cụ tìm kiếm khác với các thư mục web ở chỗ các thư mục web được hỗ trợ bởi người biên tập trong khi các công cụ tìm kiếm hoạt động theo thuật toán hoặc bằng sự kết hợp của thuật toán và đầu vào của con người.
Công cụ tìm kiếm web là các ứng dụng khai thác dữ liệu lớn. Có một số kỹ thuật khai thác dữ liệu được sử dụng trong tất cả các phần tử của công cụ tìm kiếm, từ thu thập thông tin (ví dụ:quyết định trang nào phải được thu thập thông tin và tần suất thu thập thông tin), lập chỉ mục (ví dụ:chọn trang được lập chỉ mục và xác định mức độ mà chỉ mục phải được lập chỉ mục được xây dựng) và tìm kiếm (ví dụ:xác định cách các trang phải được xếp hạng, quảng cáo nào phải được thêm vào và cách kết quả tìm kiếm có thể được tùy chỉnh hoặc tạo ra "nhận biết ngữ cảnh").
Công cụ tìm kiếm thách thức lớn đối với việc khai thác dữ liệu. Đầu tiên, họ phải quản lý một lượng lớn dữ liệu ngày càng tăng. Thông thường, dữ liệu như vậy không thể được xử lý bằng nhiều máy. Thay vào đó, các công cụ tìm kiếm bắt buộc phải sử dụng đám mây máy tính, bao gồm hàng nghìn hoặc thậm chí hàng trăm nghìn máy tính cộng tác khai thác lượng lớn thông tin. Mở rộng quy mô các phương pháp khai thác dữ liệu trên các đám mây máy tính và các tập dữ liệu phân tán cao là một ứng dụng để nghiên cứu.
Thứ hai, các công cụ tìm kiếm web phải đối phó với các bản ghi trực tuyến. Một công cụ tìm kiếm có thể đủ khả năng xây dựng một mô hình ngoại tuyến trên các tập dữ liệu lớn. Nó có thể tạo bộ phân loại truy vấn tạo truy vấn tìm kiếm cho các phần tử được xác định trước dựa trên chủ đề truy vấn. Cho dù một mô hình được xây dựng ngoại tuyến, phần mềm của mô hình trực tuyến phải nhanh chóng giải quyết các truy vấn của người dùng trong thời gian thực.
Có một thách thức khác là hỗ trợ và từng bước làm mới một mô hình trên các luồng dữ liệu tăng nhanh. Ví dụ, một bộ phân loại truy vấn có thể được yêu cầu duy trì liên tục bởi vì các truy vấn mới tiếp tục tăng và các phần tử được xác định trước và phân phối dữ liệu có thể thay đổi. Một số phương pháp đào tạo mô hình hiện tại là ngoại tuyến và tĩnh, do đó không thể sử dụng trong phương pháp đó.
Thứ ba, các công cụ tìm kiếm web phải đối phó với các truy vấn chỉ được hỏi một số ít lần. Giả sử cần có một công cụ tìm kiếm để hỗ trợ hướng dẫn truy vấn nhận biết ngữ cảnh. Khi người dùng đặt ra một truy vấn, công cụ tìm kiếm sẽ cố gắng suy ra ngữ cảnh của truy vấn bằng cách sử dụng hồ sơ khách hàng và lịch sử truy vấn của nó để trả lại nhiều câu trả lời tùy chỉnh hơn trong một phần nhỏ của giây.