지나치게 간단한 검색 엔진 - 검색 엔진을 간단하게 만들 수 있습니까 ??
발음 : "오-봐"
재미를 위해! 나는 실제로 Rust를 배우고 싶었고 당시 검색 엔진의 작동 방식에 관심이 있었기 때문에이 프로젝트보다 두 목표를 달성하는 더 나은 방법은 없었습니다!
이 저장소는 OSSE 검색 엔진을 형성하는 독립적 인 구성 요소에 의해 형성된 Monorepo입니다.
$ 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 API (포트 4444에서 실행)에 Actix Web을 사용합니다. 실제 인덱서 데이터 구조를 구현하기 위해 현재 해시 맵으로 구현 된 매우 간단한 리버스 인덱스를 사용하므로 인덱서가 다시 시작될 때마다 모든 인덱스 리소스가 현재 손실됩니다.
이 구성 요소는 크롤링 된 원시 HTML을 인덱서로 전달하는 간단한 재귀 크롤러입니다. 사전 정의 된 루트 웹 사이트 목록을 가져와 스크레이퍼로 구문 분석하고 웹 사이트 내용을 인덱서로 보내고 모든 링크를 추출하여 웹 사이트 대기열에 추가하여 크롤링 할 수있는 링크를 추출합니다. 이 과정은 무기한 "재귀 적으로"반복됩니다.
이 구성 요소는 인덱서에 대한 간단한 웹 인터페이스입니다. 사용자가 사용자 친화적 인 방식으로 결과를 검색하고 시각화 할 수 있습니다. 현재 Yew를 사용하여 구축되어있어 Frontend를 녹으로 작성하고 "Blazly Fast"Wasm 기반 웹 UI를 생성 할 수 있습니다.
"아이디어 나 패치가 있으면 OSSE에 기여하는 것을 망설이지 마십시오!"
이 소프트웨어는 BSD-2-Clause © Baitinq에 따라 라이센스가 부여됩니다.