Mecanismo de pesquisa excessivamente simples - simplificando os mecanismos de pesquisa ??
Pronúncia: "OH-SEE"
Só por diversão! Eu realmente queria aprender ferrugem e, na época, estava realmente interessado em como os mecanismos de pesquisa funcionavam, então não havia nenhuma maneira melhor de alcançar os dois objetivos do que com esse mesmo projeto!
Este repositório é um monorepo formado pelos componentes independentes que formam o mecanismo de pesquisa do OSSE.
$ nix develop
Instale a carga e o porta -malas com o seu método preferido (como o seu gerenciador de pacotes favorito).
$ cargo run --bin crawler
$ cargo run --bin indexer
$ trunk serve frontend/index.html --open
Depois que todos os componentes estiverem em execução, você poderá navegar para 127.0.0.1:8080 no seu navegador da web favorito e começar a usar osse!
O mecanismo de pesquisa do OSSE é separado em três componentes independentes:
Este componente fornece a implementação do índice de mecanismo de pesquisa real e a API REST usada para pesquisar e adicionar recursos indexados. Ele usa a Web Actix para a API REST (em execução na porta 4444). Para a implementação da estrutura de dados indicadores real, atualmente usamos um índice reverso muito simples implementado com um hashmap, para que todos os recursos indexados sejam perdidos atualmente sempre que o indexador é reiniciado.
Este componente é um rastreador recursivo simples que encaminha o HTML bruto rasteado para o indexador. Ele usa o Reqwest para buscar uma lista predefinida de sites raiz e os analisa com raspador, enviando o conteúdo do site ao indexador e extraindo todos os seus links, adicionando -os a uma fila de sites a serem rastejados. Esse processo é "recursivamente" repetido indefinidamente.
Este componente é uma interface da web simples para o indexador. Ele permite que os usuários pesquisem e visualizem os resultados de uma maneira amigável. Atualmente, ele é construído usando o teixo, o que nos permite escrever o front-end em ferrugem e produzir um Web-UI baseado em WASM "incrivelmente rápido".
"Se você tiver alguma idéia ou patches, não hesite em contribuir com o Osse!"
Este software está licenciado sob o BSD-2-cláusula © Baitinq.