Wunner
Um mecanismo de busca de brinquedos que pesquise na web dentro do seu terminal: P
Características
- Implementado em C ++ 14.
- As páginas da web rastreiam progressivamente a partir de URL (s) de sementes.
- Analisa os documentos e a consulta, tentando gerar resultados mais apropriados.
- Construa um índice (mapa de hash) para os documentos analisados.
- Os documentos e o índice rastejados são atualizados periodicamente.
- Consulta de preenchimentos autocompletos usando um trie, com base nas consultas feitas recentemente.
- Mantém dois threads, para permitir a atualização do índice e a consulta simultaneuosly.
- Gera os resultados mais relevantes em ordem classificada com base na média harmônica do PageRank (para obter a importância da página da web) e o algoritmo Okapi BM25 (para obter o resultado baseado em consulta).
- Fornece sugestões de consulta (somente quando a consulta de entrada não gera resultados), com base em palavras incorretas e corretas comuns. Os classifica usando o algoritmo N-Gram e editar DP para comparar duas cordas.
Etapas para executar
Comando para executar: wunner_search (verifique se o seu PWD é o diretório raiz do projeto)
Adicionar opção -f ou --fresh como em wunner_search -f para iniciar o mecanismo de pesquisa de novo (ou seja, rastejando e indexando novamente)
- Após a conclusão da indexação, basta digitar sua consulta e pressionar Enter para começar a pesquisar
- Para usar o AutoComplete, pressione Ctrl+G enquanto digitam a consulta e digite o número do resultado desejado para concluir a consulta (não é de relevância até que uma interface do usuário da web seja desenvolvida)
Passos para construir
- CLONE (
git clone https://github.com/Anishka0107/Wunner.git ) ou faça o download deste repositório -
cd Wunner de onde foi clonado/baixado
Build (testado no Linux)
- Requisitos: GCC (5.0 e acima) / Clang (3,4 & acima), Boost, WGet
- Duas opções:
- Requer
ar :- Execute
chmod +x wunner_build.sh - Run
./wunner_build.sh (observe que isso padrão é o nome do compilador G ++; apegar -se a usar outros, por exemplo: ./wunner_build.sh clang++ )
- Requer
cmake e make :- Run
mkdir -p build && cd build && cmake .. && make -j$(nproc)
- Por fim, execute
wunner_search (diretamente ./build/bin/wunner_search ou export PATH=$PATH:${PWD}/build/bin antes)
Baseado no Docker (para Linux/Windows/OS-X)
- Configure o Docker no seu sistema (preciso de Raiz Priviledges for Docker Comandos)
- Crie a imagem usando
docker build -t wunner . - Execute usando
docker run -v ${PWD}:/tmp wunner wunner_search (append wunner_search options, se necessário)
Lista de verificação TODO:
Recursos
- URLs de sementes de rastreador ->
- Palavras errôneas ->
- Lista de palavras de parada -> https://www.webconfs.com/stop-words.php