Thursday, September 16, 2010

Search Engine là gì ?

Search engine phần mềm cung cấp các địa chỉ Web có chứa một hay nhiều thông tin, từ khoá mà người dùng cần tìm kiếm. Thuật ngữ search engine đôi lúc được dùng không chính xác để chỉ các chỉ mục Web do các biên tập viên biên soạn.

Web crawler còn được gọi là spider (con nhện) là một phần của search engine, chuyên “chu du” khắp Web, sao chép từng trang nó tìm được và lập chỉ mục các từ khóa, tên trang.
Hãy thử tưởng tượng một cuộc sống hoàn toàn không có niên giám điện thoại hay một trợ giúp nào khác. Sử dụng điện thoại lúc đó sẽ trở nên rất khó khăn. Điều này cũng tương tự như dùng Web mà không có công cụ tìm kiếm (search engine). Với search engine, bạn chỉ cần biết một vài thông tin hay từ khoá là có thể tìm được nơi cần đến.
Theo một nghiên cứu do công ty Zona Research (Mỹ) tiến hành năm 1999 thì search engine hiện là phương thức tìm kiếm thông tin trên Web được sử dụng nhiều nhất, nó chiếm tới 77% tổng thời gian tìm kiếm. Theo kết quả khảo sát người tiêu dùng của một công ty khác vào năm 1999 thì 88% người dùng trực tuyến có sử dụng một search engine và 72% có dùng một search engine để tìm kiếm hàng hoá bán lẻ.
Đối với nhiều người dùng, search engine là yếu tố định hình nên bức tranh về kho thông tin trên Web. Tuy nhiên, một nghiên cứu gần đây của NEC Research Institute và Inktomy cho thấy có tới hơn một tỷ trang Web riêng biệt trên Internet và hầu hết các search engine đã bỏ qua không lập chỉ mục cho 1/4 số trang này. Mặt khác, khoảng 7-14% những nội dung đã được lập chỉ mục lại không còn tồn tại trên Net.

Bên trong việc tìm kiếm

Với quy mô của Web, với số lượng quá lớn các trang không được truy cập đến trong nhiều năm và trang có chứa những từ quá phổ biến dẫn đến những site không liên quan, việc lập chỉ mục dù chỉ một phần của Web để có thể trả về kết quả phù hợp là một quá trình đòi hỏi rất nhiều công sức to lớn.
Tuy nhiên, về căn bản, công việc này rất đơn giản: chương trình phần mềm thông minh sẽ “chu du” khắp trên Web, tìm kiếm và lưu trữ bất cứ thông tin nào chưa có trong chỉ mục và thường là lưu toàn bộ trang Web. Thông tin thu thập được có thể từ những trang đã được lập chỉ mục trước đó nhưng đã thay đổi, liên kết đến những trang chưa được lập chỉ mục và các địa chỉ Web do các công ty thứ ba đưa lên.
Một khi các chỉ mục đã được tập hợp lại, chúng sẽ được kiểm tra để loại bỏ những thông tin trùng lắp, chẳng hạn như các phiên bản khác nhau của cùng một site (site dự phòng); loại bỏ những trang lập lại quá nhiều lần cùng từ khoá. Một số search engine còn có khả năng gán trạng thái đặc biệt cho trang Web có dùng siêu thẻ (metatag) chứa các thành phần mô tả thông tin. Một số search engine có khả năng phân tích nội dung trang Web và cho biết tần suất mà những trang khác liên kết đến trang này. Như vậy, trang Web càng phổ biến thì nội dung của nó càng dễ tìm kiếm.
Khi người dùng đưa yêu cầu tìm kiếm thông tin cho search engine hay dịch vụ thư mục, các giải thuật tinh vi bên trong sẽ được kích hoạt. Mỗi search engine có một cách xử lý khác nhau đối với thông tin mà nó nhận được từ người dùng, nhưng mục tiêu thì giống nhau: dự đoán người dùng cần gì và trả về thông tin tương ứng. Những vấn tin của người dùng thường được phân tích rất chi tiết để phát hiện những sai sót chính tả trong từ khoá hay liệu thông tin này đã được tìm kiếm chưa.

Nguyên lý hoạt động
Một Search Engine hoạt động theo các bước sau:

Web crawling
Indexing
Searhing
Search Engine làm việc bằng cách lưu trữ thông tin về nhiều trang Web trên WWW. Những thông tin này sẽ được thu thập bởi các Spider (chính là Web crawling) và nội dung của mỗi trang sẽ được phân tích để SE quyết định nên index cái nào (ví dụ, những từ khoá được thu thập từ các titles, heading hay một số trường đặc biệt gọi là meta tags) để trả về những thông tin mà người tìm kiếm mong muốn nhất. Dữ liệu về những trang Web sẽ được lưu trữ tại các cơ sở dữ liệu chỉ mục để sử dụng cho những lần truy vấn sau. Một số Search Engine, như Google chẳng hạn, sẽ lưu trữ toàn bộ hay một phần trang gốc (được xem như một cache) cũng như thông tin về trang Web đó, trái lại với một số SE khác, như AltaVista, sẽ lữu trữ tất cả các từ của những trang mà nó tìm thấy.
Khi người dùng nhập vào các Search Engine một truy vấn (chủ yếu là các keyword), các SE này sẽ kiểm các index của nó và cung cấp danh sách các trang Web phù hợp nhất, thường là các cụm từ ngắn hay một phần của một đoạn văn bản. Hầu hết các Search Engine đều sử dụng các Boolean Operators (toán tử luận lý) như AND, OR và NOT để xác định các search query (truy vấn tìm kiếm). Một số SE khác lại sử dụng những phương pháp tiên tiến hơn như Proximity Search (tìm kiếm gần kề) để cho phép người dùng xác định được khoảng cách giữa các từ khoá.



Các dịch vụ thư mục như của Yahoo và hỏi-đáp như của Ask Jeeves không dùng phần mềm thu thập tự động thông tin Web. Thay vào đó, các biên tập viên sẽ thực hiện việc tổng hợp thư mục Web một cách thủ công. Mặc dù Yahoo không lập chỉ mục trang Web như cách của search engine nhưng nó thực sự cung cấp dữ liệu chất lượng cao. Tuy nhiên, với mức tăng trưởng hàng năm 70% tổng số trang Web từ nay đến 2003 theo như dự báo của International Data Corp. thì những dịch vụ thư mục kiểu này sẽ phải gia tăng liên tục số lượng biên tập viên để có thể duy trì được tính hữu dụng của dịch vụ.
Một loại search engine lai mới đang xuất hiện, sử dụng phương pháp phân tích ngôn ngữ để xác định dịch vụ thư mục, search engine hay cơ sở dữ liệu sẽ đáp ứng tốt nhất cho yêu cầu tìm kiếm thông tin của người dùng. Ví dụ, vấn tin “dân số Việt Nam” sẽ trả về thông tin điều tra dân số của Việt Nam, liên kết đến các Web site, thư mục và các thông tin có liên quan.
Tương lai của việc tìm kiếm

Một số search engine đã có tính năng tìm kiếm các đối tượng thay vì văn bản – chẳng hạn ảnh của một “ngôi sao” nào đó ở dạng JPEG. Tuy nhiên, còn rất nhiều nội dung multimedia như hình ảnh động của Shockware, Flash và dạng âm thanh, hình ảnh liên tục, hiện thời chưa thể lập chỉ mục được.
XML là một ngôn ngữ mô tả nội dung, không chỉ có khả năng chuyển tải thông tin mà còn có các thẻ định danh để mô tả thông tin này có ý nghĩa gì. Search engine có thể lập chỉ mục trang Web XML dễ dàng hơn nhờ những thẻ này cho biết thông tin tương ứng xuất hiện ở đâu trên trang. Ví dụ, thẻ định danh “125” báo cho search engine biết rằng 125 là giá. Điều này cho phép search engine so sánh giá của nhiều nhà bán lẻ khác nhau một cách dễ dàng và nhanh chóng.

No comments: