Dies ist der Quellcode für die Marginalia -Suche.
Ziel des Projekts ist es, neue und alternative Entdeckungsmethoden für das Internet zu entwickeln. Es ist ein experimenteller Workshop, genauso wie es sich um einen öffentlichen Dienst handelt. Das übergeordnete Ziel ist es, die menschlicheren, nicht kommerziellen Seiten des Internets zu erhöhen.
Ein Nebenziel besteht darin, dies zu tun, ohne dass Rechenzentren und Unternehmensbudgets erforderlich sind, um diesen Vorgang auf erschwinglichen Hardware mit minimalem operativem Overhead ausführen zu können.
Der langfristige Plan besteht darin, die Suchmaschine so zu verfeinern, dass es genügend öffentlicher Wert liefert, damit das Projekt durch Zuschüsse, Spenden und kommerzielle API-Lizenzen finanziert werden kann (nicht kommerzielle Aktien sind immer kostenlos).
Das System kann sowohl als Kopie der Marginalia Search als auch als weiße Suchmaschine für Ihre eigenen Daten ausgeführt werden (entweder gekrabbeln oder seitlich beladen). Derzeit ist die Logik nicht sehr konfigurierbar, und viele der getroffenen Urteile basieren auf den Zielen des Marginalia -Projekts, aber darauf wird zusätzliche Konfigurierbarkeit bearbeitet!
Hier ist eine Demo des Setups und Betriebs des selbsthostbaren Barebones-Modus der Suchmaschine:? https://www.youtube.com/watch?v=pnwmkenqq24
Um eine lokale Testumgebung einzurichten, befolgen Sie die Anweisungen in? run/readme.md!
Weitere Dokumentation finden Sie bei? https://docs.marginalia.nu/.
Vor dem Kompilieren müssen run/setup.sh ausgeführt werden. Dadurch werden ergänzende Modelldaten heruntergeladen, die zum Ausführen des Codes erforderlich sind. Diese sind auch erforderlich, um die Tests durchzuführen.
Wenn Sie den Code hacken möchten, schauen Sie sich an? doc/ide-configuration.md.
Eine produktionsähnliche Umgebung erfordert viel RAM und idealerweise Unternehmens-SSDs für den Index sowie einige zusätzliche Terabyte langsamerer Festplatten zum Speichern von Crawl-Daten. Es kann gemacht werden, um auf kleinere Hardware zu laufen, indem die Größe des Index eingeschränkt wird.
Das System wird definitiv auf einer 32 -GB -Maschine ausgeführt, möglicherweise kleiner, aber in dieser Größe kann es möglicherweise nicht sehr gut funktionieren, da es sich auf die Schnelligkeit von Scheiben stützt, um schnell zu sein.
Die Bereitstellung eines lokalen Entwicklers ist mit einer viel kleineren Hardware (und der Indexgröße) möglich.
? Code/ - Der Quellcode. Sehen ? Code/Readme.md für eine weitere Aufschlüsselung der Struktur und Architektur.
? Ausführen/ - Skripte und Dateien, die verwendet werden, um die Suchmaschine lokal auszuführen
? Code von Drittanbietern/ - Drittanbieter
? DOC/ - Ergänzende Dokumentation
? Beitragen.md - wie man einen Beitrag leisten
? Lizenz.MD - Lizenzbedingungen
Sie können [email protected] mit Fragen oder Feedback per E -Mail senden.
Der Großteil des Projekts ist mit AGPL 3.0 mit Ausnahmen erhältlich. Einige Teile sind unter dem MIT zusammengeleitet. Der Code von Drittanbietern kann unterschiedliche Lizenzen haben. Siehe die entsprechende Readme.md / lizenz.md.
Das Projekt verwendet eine modifizierte Kalenderversionierung, wobei die ersten beiden Zahlenpaare ein Jahr und einen Monat mit dem neuesten Krabbeln übereinstimmen, und die dritte Nummer ist eine Patch -Nummer.
version
--
yy.mm.VV
-----
crawl
Zum Beispiel ist 23.03.02 eine Veröffentlichung mit Crawl -Daten vom März 2023 (veröffentlicht im Mai 2023). Es ist der zweite Patch für die 23.02 -Version.
Versionen mit demselben Jahr und Monat sind miteinander kompatibel oder bieten einen Upgrade-Pfad, in dem derselbe Datensatz verwendet werden kann. In verschiedenen Crawl-Sets können Änderungen des Datenformats eingeführt werden, und es wird allgemein erwartet, dass die Daten die Daten von Grund auf neu erstellen, da die Crawler-Daten die Haltbarkeit annähernd so lange wie die Hauptfreisetzungszyklen dieses Projekts haben. Nach ungefähr 2-3 Monaten wird es mit vielen toten Links merklich veraltet.
Für Entwicklungszwecke ist das Kriechen entmutigt und Beispieldaten sind verfügbar. Sehen ? Ausführen/readme.md für weitere Informationen.
Erwägen Sie, an das Projekt zu spenden.
Dieses Projekt wurde über den NGI0 -Aufbaufonds finanziert, einem von NLNET eingerichteten Fonds mit finanzieller Unterstützung des Internetprogramms der nächsten Generation der Europäischen Kommission im Rahmen der AEGIS von DG Communications Networks, Inhalten und Technologie im Rahmen der Grant -Vereinbarung Nr. 101069594.