Не активно развивается. Пожалуйста, проверьте Тоши вместо этого!
Легкий поисковый сервер, совместимый с Elasticsearch.
Поисковая система хорошего качества важна для многих веб-сайтов, и Elasticsearch обеспечивает ее с помощью простого в использовании REST API. Но проблема Elasticsearch в том, что для него требуется минимум 2 ГБ памяти, что делает его эксплуатацию дорогостоящей.
Целью этого проекта является создание нового поискового сервера, который использует мощные функции поиска и простой API Elasticsearch, но реализует его на языке с большим контролем над использованием памяти. Мы стремимся поддерживать использование памяти ниже 100 МБ (без учета кэша), поэтому его запуск должен быть очень дешевым.
Rust освобождает память по ходу дела, а не оставляет неиспользуемую память для последующего сбора «сборщиком мусора», таким как Java. В Elasticsearch эта куча мусора может тратить гигабайты памяти, которые в противном случае можно было бы использовать в качестве кеша.
Rust — это язык системного программирования от Mozilla, предназначенный для создания быстрого, безопасного и надежного программного обеспечения.
Пожалуйста, примите во внимание, что этот проект находится на стадии предварительной альфа-версии. В настоящее время он поддерживает только часть API Elasticsearch, чего, вероятно, недостаточно для запуска большинства приложений.
В настоящее время он поддерживает индексацию, как массовую, так и по отдельности (однако на данный момент массовый индексатор работает довольно медленно), а также поиск с использованием алгоритма сходства BM25.
См. дорожную карту, чтобы увидеть список вещей, над которыми ведется работа в данный момент.
См. раздел Поддержка DSL запросов Elasticsearch.
Rusticsearch официально тестировался только в Linux и Windows, но он также должен работать и в Mac OS X.
Rusticsearch можно скомпилировать со стабильной версией Rust 1.15 или новее. Вы можете скачать его с сайта Rust или использовать Rustup.
После установки Rust клонируйте репозиторий и запустите cargo run
:
git clone [email protected]:kaedroho/rusticsearch.git
cd rusticsearch
cargo run