Чрезмерно простая поисковая система - Сделать поисковые системы простыми ??
Произношение: "О-посмотри"
Просто для развлечения! Я действительно хотел выучить ржавчину, и в то время меня действительно интересовали, как работали поисковые системы, поэтому не было никакого лучшего способа достижения обеих целей, чем с этим самым проектом!
Этот репозиторий является монорепо, образованным независимыми компонентами, которые образуют поисковую систему OSSE.
$ nix develop
Установите груз и багажник с вашим предпочтительным методом (например, ваш любимый менеджер пакетов).
$ cargo run --bin crawler
$ cargo run --bin indexer
$ trunk serve frontend/index.html --open
После того, как все компоненты работают, вы можете перейти к 127.0.0.1:8080 в вашем любимом веб -браузере и начать использовать Osse!
Поисковая система Osse разделена на три независимых компонента:
Этот компонент предоставляет как фактическую реализацию индексера поисковой системы, так и API REST, используемый для поиска и добавления индексированных ресурсов. Он использует Actix Web для API REST (работа на порту 4444). Для реализации фактической структуры данных индексера мы в настоящее время используем очень простой обратный индекс, реализованный с помощью HashMAP, поэтому все индексированные ресурсы в настоящее время теряются каждый раз, когда индексатор перезапускается.
Этот компонент представляет собой простой рекурсивный гусеница, который направляет ползал сырой HTML в индексатор. Он использует REQWEST для получения предопределенного списка корневых веб -сайтов и анализирует их с помощью Scraper, отправляя содержимое веб -сайта в индексатор и извлекая все его ссылки, добавив их в очередь веб -сайтов для ползания. Этот процесс «рекурсивно» повторяется на неопределенный срок.
Этот компонент является простым веб -интерфейсом для индексера. Это позволяет пользователям искать и визуализировать результаты удобным для пользователя. В настоящее время он построен с использованием YEW, что позволяет нам писать фронт в Rust и производить «яростно быстро» WASM Web-UI.
«Если у вас есть какие -либо идеи или патчи, пожалуйста, не стесняйтесь внести свой вклад в OSSE!»
Это программное обеспечение лицензировано в соответствии с BSD-2-Clause © Baitinq.