No desarrollado activamente. ¡Por favor, mira a toshi en su lugar!
Servidor de búsqueda ligero compatible con Elasticsearch.
Un motor de búsqueda de buena calidad es importante para muchos sitios web y Elasticsearch lo proporciona con una API REST fácil de usar. Pero el problema con Elasticsearch es que requiere un mínimo de 2 GB de memoria, lo que hace que su ejecución sea costosa.
El objetivo de este proyecto es crear un nuevo servidor de búsqueda que adopte las potentes funciones de búsqueda y la API simple de Elasticsearch, pero que lo implemente en un lenguaje con más control sobre el uso de la memoria. Nuestro objetivo es mantener el uso de memoria por debajo de 100 MB (excluyendo el caché), por lo que su ejecución debería ser muy económica.
Rust libera memoria a medida que avanza en lugar de dejar memoria no utilizada para que un "recolector de basura" como Java la recopile más tarde. En Elasticsearch, este montón de basura puede desperdiciar gigabytes de memoria que de otro modo podrían usarse como caché.
Rust es un lenguaje de programación de sistemas de Mozilla diseñado para crear software rápido, seguro y confiable.
Considere la calidad pre-alfa de este proyecto. Actualmente solo admite un subconjunto de API de Elasticsearch que probablemente no sea suficiente para ejecutar la mayoría de las aplicaciones.
Actualmente admite la indexación, tanto de forma masiva como individual (sin embargo, el indexador masivo es bastante lento en este momento) y la búsqueda utilizando el algoritmo de similitud BM25.
Consulte la hoja de ruta para obtener una lista de las cosas en las que se está trabajando en este momento.
Consulte Compatibilidad con DSL de consultas de Elasticsearch.
Rusticsearch sólo ha sido probado oficialmente en Linux y Windows, pero también debería ejecutarse en Mac OS X.
Rusticsearch se puede compilar con Rust estable 1.15 o posterior. Puedes descargarlo del sitio web de Rust o puedes usar Rustup.
Una vez instalado Rust, clona el repositorio y ejecuta cargo run
:
git clone [email protected]:kaedroho/rusticsearch.git
cd rusticsearch
cargo run