Google nó không thể biết được mỗi site có những địa chỉ nào trong đó, mà phải dựa vào link đặt từ các trang khác tới, như việc mò mẫm trong một mạng lưới các link vậy. Để lập chỉ mục của một site, google có một số máy (có lẽ khoảng vài ngàn, trong thuật ngữ tin học gọi là crawler, và crawler của google được gọi là googlebot) liên tục truy cập vào site đó. Đầu tiên, google biết tới TV từ các site khác mà google đã biết từ trước và có link chỉ tới TV, rồi cứ mỗi lần truy cập vào một trang mới, google sẽ trích ra được các link mới trong đó và quá trình đó cứ tiếp tục để mở rộng danh sách các link của nó.
Cấu trúc của một search engine (SE) gồm có: các Crawler (khoảng vài ngàn máy, nhưng mỗi máy có thể có nhiều Crawler chạy song song), Document Servers, Index Servers và giao diện web (Searchers).
- Các Crawler sau khi đã truy cập vào 1 trang thì lưu trang web mà nó nhận được vào Doc Servers và lập index cho các từ (word) có trong trang web đó rồi lưu vào Index Servers.
- Document Servers lưu trữ toàn bộ các trang web mà google đã tìm được để khi hiện kết quả, google sẽ trích ra một đoạn tương ứng trong trang web đó có những từ khoá được tìm.
- Index Servers lưu trữ danh sách các từ (kể cả các từ có nghĩa trong các thứ tiếng và các cụm từ vô nghĩa bất kỳ xuất hiện trên mạng) và các trang web tương ứng có chứa từ đó.
- Searchers là những máy tiếp nhận yêu cầu tìm kiếm từ người dùng, phân tích câu truy vấn rồi dựa Index Servers để tìm ra các trang thoả mãn yêu cầu tìm kiếm, thực hiện việc sắp xếp (trình bày ở dưới), rồi cuối cùng dựa vào Doc Servers để hiển thị ra kết quả và gửi lại cho người dùng.
Cấu trúc ở trên tương đối đơn giản và tất cả các SE (yahoo, google, msn,...) đều có thể làm được, chỉ cần mua đủ thiết bị để lưu trữ (số server là một bí mật của google, nhưng người ta ước đoán vào khoảng vài chục ngàn). Điều mấu chốt tạo nên sự khác biệt giữa các search engine nằm ở thuật toán sắp xếp.
Với mỗi từ được lưu trữ, danh sách các trang web có chứa từ đó có thể rất dài. Các trang trong danh sách đó sẽ có thứ tự ưu tiên khác nhau (gọi là page rank), đại để như sau: nếu từ xuất hiện ở danh sách từ khoá, hoặc ở phần tiêu đề, hoặc xuất hiện nhiều lần, hoặc ở gần link trỏ tới từ trang khác trỏ tới trang web đó,... thì trang web đó sẽ có page rank cao hơn. Có rất nhiều tiêu chí khác nhau mà tỉ mỉ như thế nào thì là bí mật thương mại của mỗi SE.
Tất nhiên, ngoài các thông tin ở trên, google còn lưu trữ kèm theo rất nhiều thông tin phụ khác để thực hiện các truy vấn đặc biệt, như ngày tháng, kiểu văn bản,...
Vì lưu trữ dưới dạng các từ nên không có cách nào để tìm được các trang nếu chỉ viết một phần từ đó. Ví dụ muốn tìm các trang có "information" mà chỉ gõ "formation" thì sẽ không ra đúng. Đây là một ưu điểm và cũng là một nhược điểm.
Vì ở mỗi site, các googlebot đều phải "mò mẫm" để biết được site đó có những trang nào, nên trang nào càng có nhiều link trỏ từ trang khác tới thì sẽ càng dễ được google biết tới, đồng thời càng nhiều trang khác trỏ tới cũng sẽ khiến trang đó có page rank cao hơn.
Khi truy cập các trang web, kể cả các trang đã lưu trữ, google vẫn liên tục truy cập lại để cập nhật, và cũng để biết trang đó còn sống hay không (nếu truy cập một số lần nhất định mà vẫn chết thì google sẽ xoá khỏi dữ liệu của nó). Google cũng đủ thông minh để biết trang nào thường xuyên hay ít thay đổi để ưu tiên truy cập thường xuyên hay không.
Hiện nay TV để ở chế độ yêu cầu đăng nhập, nhưng riêng với google em vẫn để ưu tiên cho nó không cần đăng nhập (vì nó chưa đủ thông minh để tự động đăng ký nick và đăng nhập :p), nếu không thì chỉ ít lâu là mọi người sẽ không thể tìm được gì trên TV từ google cả :D
Lộ tòng kim dạ bạch,
Nguyệt thị cố hương minh.