Wikipedia tạo Sơ đồ trang web như thế nào?


9

Chủ đề khiến tôi quan tâm vì kích thước của Wikipedia. Có thể dễ dàng tạo một số crons để cập nhật sơ đồ trang web định kỳ trong một trang web nhỏ, nhưng còn một trang lớn thì sao? Vì thế:

Wikipedia tạo Sơ đồ trang web như thế nào?

Câu trả lời:


9

Nó được tạo ra một cách linh hoạt bởi một tập lệnh PHP. Đối với các trang web lớn, có lẽ tốt hơn để kiểm tra các thay đổi và chỉ tạo ra nếu có gì đó thay đổi - hoặc chỉ tạo ra mỗi XY phút / giờ / ngày. Nó phụ thuộc vào cơ sở hạ tầng.

Tất cả các thông tin cần thiết đều có trong cơ sở dữ liệu, vì vậy đây không phải là một nhiệm vụ khó khăn.

Và đây là bằng chứng: http : //svn.wikidia.org/viewvc/mediawiki/trunk/phase3/maintenance/generateSitemap.php?view=log / http://www.mediawiki.org/wiki/Manual:GenerateSitemap. php

Chỉnh sửa: Ah và điều này cũng có thể thú vị cho chủ đề này:


Bạn có thể sử dụng mã PHP để tạo sơ đồ trang web cho bất kỳ trang web lớn nào không? Bạn có nghĩa là từ "động" rằng sơ đồ trang web được tạo ra một cách tự động và thực hiện các thay đổi nhỏ cho mã khi cần?

Bạn có thể làm rõ câu "Thông tin cần thiết là tất cả trong cơ sở dữ liệu, vì vậy đó không phải là một nhiệm vụ khó khăn."? Tôi có thể xem cơ sở dữ liệu ở đâu?

Tôi nghĩ rằng anh ta có nghĩa là tất cả các thông tin có trong cơ sở dữ liệu bên dưới mediawiki. Trừ khi bạn là một trong những sysadins hoặc DBA của wikipedia, bạn có thể không thể truy cập trực tiếp vào DB của họ.
Cian

3
Tôi cũng nghĩ rằng OP đang cố gắng tìm ra cách tạo Sơ đồ trang web trên một trang web 'lớn', trong trường hợp Wikipedia, nó được điều khiển bởi RDBMS (MySQL) với tất cả các trang được cung cấp ngoài cơ sở dữ liệu. Do đó, DB của bạn biết tất cả các trang và bạn cần một tập lệnh PHP đơn giản (được liên kết ở trên từ Subversion) để làm điều đó. Trong trường hợp các trang web khác, được thúc đẩy bởi các công nghệ khác nhau, thì bạn sẽ thấy rằng cách tiếp cận cần thiết là khác nhau. Lần trước tôi đã kiểm tra Wikipedia đã xuất bản cơ sở dữ liệu của họ để tải xuống, hoặc ít nhất, họ đã xuất bản nội dung của họ trong một tệp .Query.
nixgeek

1
Đây là [Wikipedia DB Dump] [1] :-) [1]: en.wikipedia.org/wiki/iêu
Gregor

1

Tôi đã phải đối mặt với nhiệm vụ tạo ra một bản đồ trang web cho trang web của chúng tôi một thời gian trước. Mặc dù nó không phải là kích thước của Wikipedia, nhưng nó vẫn có khoảng một trăm nghìn trang và khoảng 5% trong số đó được thay đổi, thêm hoặc xóa hàng ngày.

Vì việc đặt tất cả các tham chiếu trang trong một tệp sẽ làm cho nó quá lớn, tôi phải chia chúng thành các phần. Chỉ mục bản đồ trang web trỏ đến một trang aspx với chuỗi truy vấn cho một trong 17 phần khác nhau. Tùy thuộc vào chuỗi truy vấn, trang trả về một xml tham chiếu vài nghìn trang, dựa trên các đối tượng tồn tại trong cơ sở dữ liệu.

Vì vậy, bản đồ trang web không được tạo định kỳ, thay vào đó, nó được tạo khi đang có người yêu cầu. Vì chúng tôi đã có một hệ thống để tìm kiếm cơ sở dữ liệu lưu trữ, điều này tất nhiên được sử dụng để tìm nạp dữ liệu cho bản đồ trang web.


Tại sao các downvote? Nếu bạn không giải thích những gì bạn nghĩ là sai, nó không thể cải thiện câu trả lời.
Guffa

1

Mặc dù mã tạo sơ đồ trang web nằm trong chủ lõi của MediaWiki và chắc chắn sẽ là tùy chọn được chọn để tạo sơ đồ trang web, tôi không thấy bất kỳ bằng chứng nào cho thấy Wikipedia thực sự đã bật. Tệp robot.txt không trỏ đến bất kỳ bản đồ trang web nào.

Hơn nữa, bất kỳ tập lệnh bảo trì nào chạy trên các dự án Wikimedia đều được điều khiển bởi con rối và không có phiên bản nào của GenerSitemap.php trong kho lưu trữ con rối . Cuối cùng, không có sơ đồ trang web nào trong các bãi chứa cho bất kỳ wiki Wikimedia nào, trong khi có " tóm tắt cho Yahoo ".

Trong mọi trường hợp, Wikipedia chạy Squid cache trước các máy chủ ứng dụng của họ. Họ có thể kiểm soát tần suất trang web của họ được cập nhật bằng cách điều chỉnh thời gian hết hạn cho trang.

Hơn nữa, bất cứ điều gì Wikipedia làm để lập chỉ mục không phải là một mô hình tốt cho wiki của bạn, bởi vì Google có các liên hệ / giao dịch / xử lý đặc biệt của Wikipedia, xem một ví dụ gần đây .


+1 quan sát thông minh

1
Không có lý do thực sự để mong đợi robot.txt tham chiếu sơ đồ trang web, vì vậy sự vắng mặt của một tham chiếu như vậy không thực sự chứng minh bất cứ điều gì.
John Gardeniers

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.