Wunner
Un motor de búsqueda de juguetes que busca la web dentro de su terminal: P
Características
- Implementado en C ++ 14.
- Páginas web de rastreo a partir de la (s) URL (s) de semillas.
- Analiza los documentos y la consulta, tratando de generar resultados más apropiados.
- Construye un índice (mapa hash) para los documentos analizados.
- Los documentos y el índice rastreados se actualizan periódicamente.
- La consulta de autocompletos usando un trie, basado en consultas más recientemente solicitadas.
- Mantiene dos hilos, para permitir actualizar el índice y consultar simultáneamente.
- Genera los resultados más relevantes en orden clasificado sobre la base de la media armónica de PageRank (para obtener la importancia de la página web) y los rangos de algoritmo Okapi BM25 (para obtener resultados basados en la consulta).
- Proporciona sugerencias de consulta (solo cuando la consulta de entrada no genera ningún resultado), sobre la base de palabras incorrectas y correctas comunes. Los clasifica utilizando el algoritmo N-Gram y la DP de edición de edición de distancia para comparar dos cadenas.
Pasos para correr
Comando para ejecutar: wunner_search (asegúrese de que su PWD sea el directorio raíz del proyecto)
Agregue la opción -f o --fresh como en wunner_search -f para iniciar el motor de búsqueda de nuevo (es decir, rastrear e indexar nuevamente)
- Después de completar la indexación, simplemente escriba su consulta y presione Enter para comenzar a buscar
- Para usar autocompletar, presione Ctrl+G mientras escribe la consulta y luego escriba el número de resultado deseado para completar la consulta (no es de relevancia hasta que se desarrolle una interfaz de usuario web)
Pasos para construir
- Clone (
git clone https://github.com/Anishka0107/Wunner.git ) o descargue este repositorio -
cd Wunner de donde fue clonado/descargado
Construir (probado en Linux)
- Requisitos: GCC (5.0 y superior) / Clang (3.4 y arriba), Boost, WGet
- Dos opciones:
- Requiere
ar :- Ejecutar
chmod +x wunner_build.sh - Ejecutar
./wunner_build.sh (tenga en cuenta que este valor predeterminado al compilador g ++; append compiler nombre para usar otro, por ejemplo: ./wunner_build.sh clang++ )
- Requiere
cmake y make :- Ejecute
mkdir -p build && cd build && cmake .. && make -j$(nproc)
- En última instancia, ejecute
wunner_search (ya sea directamente ./build/bin/wunner_search o do export PATH=$PATH:${PWD}/build/bin antes)
Basado en Docker (para Linux/Windows/OS-X)
- Configure Docker en su sistema (necesita privilegios raíz para los comandos Docker)
- Construya la imagen usando
docker build -t wunner . - Ejecutar usando
docker run -v ${PWD}:/tmp wunner wunner_search (append wunner_search opciones si es necesario)
Lista de verificación de TODO:
Recursos
- URLS de semillas de rastreador ->
- Palabras erróneas ->
- Lista de palabras de parada -> https://www.webconfs.com/stop-words.php