Contiene tareas realizadas para el curso CSCI572 en la Universidad del Sur de California.
Idiomas: Python 3.7
I/P: Conjunto de consultas y sus 10 principales resultados de Google correspondientes
O/P: Coeficiente de Spearman para cada consulta que compara los resultados de Google y Bing
Idiomas: Java 11
Bibliotecas: rastreador4j
I/P: nombre de dominio del sitio web para rastrear
O/P: Lista de URL recuperadas junto con sus estadísticas
Idiomas: Java 11
Bibliotecas: Apache Hadoop
Sistemas: Google Cloud, Microsoft Azure I/P: Lista de URL a indexar
O/P: archivos de índice para Unigrams y Bigrams para las URL
Idiomas: Java 11, Python 3.7, HTML, CSS, PHP, JavaScript, JQuery
Bibliotecas: Apache Lucene, Apache Solr, Apache Tika, NetworkX, jsoup, SpellCorrector de PeterNorvig
Funcionalidades:
1. Cálculo del rango de página:
Usé jsoup en Java para analizar todos los enlaces de las páginas web rastreadas para crear el archivo EdgeList.
Utilicé NetworkX en Python para crear un gráfico dirigido a partir de EdgeList y calcular los valores de Page Rank para todas las URL.
2. Configuración de Lucene y Solr:
Creé un núcleo Solr para rastrear archivos html y producir índices invertidos de manera eficiente.
Seleccionar comando en Solr recupera páginas web para la consulta realizada. Utiliza internamente el espacio vectorial de Lucene y la representación del modelo booleano y ordena los resultados con TF-IDF.
Se proporcionó funcionalidad adicional para ordenar los resultados de la página web con los valores de clasificación de la página calculados anteriormente.
3. Página web del motor de búsqueda Iditom:
Desarrollé un código PHP para actuar como Cliente para recibir la Consulta de los usuarios. El usuario puede optar por utilizar el algoritmo de clasificación predeterminado de Lucene o el algoritmo de clasificación de páginas para ordenar los resultados obtenidos. Al utilizar la API del cliente para Solr, se recuperan los resultados de la página web para la consulta.
Se proporciona una interfaz web similar a la de Google.
4. Revisión ortográfica y autocompletar:
Creé un archivo de texto de vocabulario después de analizar y preprocesar palabras de las páginas web rastreadas usando Apache Tika.
Se utilizó el algoritmo SpellCorrector de Peter-Norvig y se alimentó con este vocabulario para calcular las probabilidades de Editar distancia 1 y 2.
Se agregó la funcionalidad de revisión ortográfica al motor de búsqueda Iditom, imitando a Google (mostrando resultados para __, buscar en lugar de __).
Se utilizaron los resultados de Autocompletar predeterminados de Solr, que utilizan la búsqueda Fuzzy Factory para las sugerencias de palabras.
Vea el vídeo del motor de búsqueda aquí: https://youtu.be/lYZ_SdsIX3A