Sie haben ein paar Optionen. Wenn Sie alles selbst machen wollen, dann ist Duffymos Lösung perfekt, aber wenn Sie vorhandene Bibliotheken verwenden möchten, würde ich etwas Ähnliches wie Jung für Graphen vorschlagen.
Ich bin mir nicht sicher, ob Sie vertraut mit graphs, aber sie können verwendet werden, um die Struktur der Links zu speichern und PageRank ist oft in den meisten Bibliotheken enthalten. Je nachdem, wie Sie es tun möchten, ist eine gute Lösung im Speicher Jung, aber wenn Sie persistenten Datenbankspeicher benötigen als das Laden Ihrer Daten in Neo4J würde funktionieren (Sie müssten gremlin installieren, um den Pagerank zu tun).
Die oben genannten sind Java-Lösungen, aber wenn Sie es selbst tun wollen (und ich mag keine trockenen Forschungsarbeiten), dann würde ich sehr empfehlen, das Buch Programmierung kollektive Intelligenz. Sie gehen durch (Kapitel 4? Ich denke) Erstellen einer Suchmaschine von Grund auf, die pagerank und neuronale Netzwerke enthält, um Klicks zu überwachen. Das einzige Problem, basierend auf Ihren obigen Anforderungen, ist das Buch ist in Python geschrieben, aber Sie können die Logik leicht auf Java anwenden. Wenn Sie schon ein bisschen Python kennen, können Sie den Quellcode der Bücher kostenlos herunterladen und die Software ausprobieren (aber es gibt keine Erklärung für die Mathematik hinter dem Code im Quellcode).
Hoffe, dass hilft
wie weit sind Sie bereit zu gehen? Wenn Sie von Googles aktuellem Seitenrangalgorithmus sprechen, ist es viel komplexer und das meiste ist völlig geheim. Zunächst berücksichtigt Google das Alter des Domain-Namens und wie oft der Content aktualisiert wird. Wie geht es dann mit Spammern? Google entfernt regelmäßig Spammer und ganze Shaddy-Farmen aus ihrem Index usw. Es ist ein sehr kompliziertes Thema und es ist schwer zu erklären * "wie man es berechnet" * weil es keine magische Formel gibt, die * den * Seitenrang berechnen lässt ... – TacticalCoder