Nicht aktiv entwickelt. Bitte schauen Sie sich stattdessen Toshi an!
Leichter, mit Elasticsearch kompatibler Suchserver.
Eine qualitativ hochwertige Suchmaschine ist für viele Websites wichtig und Elasticsearch bietet dies mit einer benutzerfreundlichen REST-API. Das Problem bei Elasticsearch besteht jedoch darin, dass es mindestens 2 GB Speicher benötigt, was die Ausführung teuer macht.
Das Ziel dieses Projekts besteht darin, einen neuen Suchserver zu erstellen, der die leistungsstarken Suchfunktionen und die einfache API von Elasticsearch nutzt, diese jedoch in einer Sprache implementiert, die mehr Kontrolle über die Speichernutzung bietet. Unser Ziel ist es, die Speichernutzung unter 100 MB (ohne Cache) zu halten, sodass die Ausführung sehr kostengünstig sein sollte.
Rust gibt Speicher frei, anstatt ungenutzten Speicher zurückzulassen, der später von einem „Garbage Collector“ wie Java gesammelt wird. In Elasticsearch kann dieser Müllhaufen Gigabyte Speicher verschwenden, der sonst als Cache verwendet werden könnte.
Rust ist eine Systemprogrammiersprache von Mozilla, die für die Erstellung schneller, sicherer und zuverlässiger Software entwickelt wurde.
Bitte betrachten Sie dieses Projekt als Pre-Alpha-Qualität. Derzeit wird nur ein Teil der APIs von Elasticsearch unterstützt, was wahrscheinlich nicht ausreicht, um die meisten Anwendungen auszuführen.
Es unterstützt derzeit die Indizierung sowohl in großen Mengen als auch einzeln (der Massenindexer ist derzeit jedoch recht langsam) und die Suche mithilfe des BM25-Ähnlichkeitsalgorithmus.
Eine Liste der Dinge, an denen derzeit gearbeitet wird, finden Sie in der Roadmap.
Siehe Elasticsearch-Abfrage-DSL-Unterstützung.
Rusticsearch wurde offiziell nur unter Linux und Windows getestet, sollte aber auch unter Mac OS X laufen.
Rusticsearch kann mit Rust Stable 1.15 oder höher kompiliert werden. Sie können es von der Rust-Website herunterladen oder Rustup verwenden.
Sobald Rust installiert ist, klonen Sie das Repo und führen Sie cargo run
aus:
git clone [email protected]:kaedroho/rusticsearch.git
cd rusticsearch
cargo run