Este projeto é um motor de busca simples que utiliza páginas da Wikipedia. Ele constrói um índice reverso para buscar palavras-chave e utiliza o algoritmo PageRank para ranquear as páginas com base na relevância e nos links entre elas.
Antes de compilar o projeto, certifique-se de que seu ambiente atenda aos seguintes requisitos:
- CMake 3.10 ou superior
- Google Test para testes unitários
- Um compilador compatível com C++11 ou superior
- src/: Implementação principal do motor de busca, incluindo o índice reverso e o PageRank.
- tests/: Testes unitários para verificar a funcionalidade do sistema.
- CMakeLists.txt: Arquivo de configuração para construir o projeto com CMake.
Para compilar o projeto, siga os seguintes passos:
-
Crie um diretório
build
e entre nele:mkdir build && cd build
-
Execute o CMake para gerar os arquivos de compilação:
cmake ..
-
Compile o projeto utilizando
make
:make
Como este projeto é uma biblioteca, você pode rodar os testes unitários para verificar a funcionalidade.
-
Após a compilação, no diretório
build
, execute o comando:./tests/unit-tests/LibUnitTests
Isso executará os testes que cobrem o funcionamento da engine, indexação reversa e PageRank.
- Indexação Reversa: Mapeia palavras-chave para as páginas da Wikipedia onde aparecem.
- PageRank: Algoritmo que atribui uma pontuação de relevância a cada página baseada nos links e na estrutura da Wikipedia.
- Consulta: Busca páginas relacionadas a uma palavra-chave e ordena os resultados com base no PageRank.
Ainda estamos avaliando qual lincença será a lincença que será utilizada.
Here’s the README translated into English:
This project is a simple search engine that utilizes Wikipedia pages. It builds a reverse index for keyword searching and uses the PageRank algorithm to rank pages based on relevance and interlinking.
Before compiling the project, make sure your environment meets the following requirements:
- CMake 3.10 or higher
- Google Test for unit testing
- A compiler compatible with C++11 or higher
- src/: Main implementation of the search engine, including the reverse index and PageRank.
- tests/: Unit tests to verify the functionality of the system.
- CMakeLists.txt: Configuration file for building the project with CMake.
To compile the project, follow these steps:
-
Create a
build
directory and navigate into it:mkdir build && cd build
-
Run CMake to generate the build files:
cmake ..
-
Compile the project using
make
:make
Since this project is a library, you can run the unit tests to verify its functionality.
-
After building, in the
build
directory, execute:./tests/unit-tests/LibUnitTests
This will run the tests covering the search engine functionality, reverse indexing, and PageRank.
- Reverse Indexing: Maps keywords to the Wikipedia pages in which they appear.
- PageRank: An algorithm that assigns a relevance score to each page based on links and the structure of Wikipedia.
- Querying: Searches for pages related to a keyword and ranks the results based on PageRank.