Content

DelcySearch

DelcySearch

Motor de búsqueda web masivo utilizando Hadoop, Índice Invertido y PageRank

DelcySearch es un prototipo de motor de búsqueda web a gran escala diseñado para procesar y recuperar información a partir de colecciones masivas de páginas web.

El sistema implementa tecnologías fundamentales utilizadas en motores de búsqueda modernos como:

  • Procesamiento de datos distribuido con Hadoop
  • Índice Invertido para una recuperación eficiente de documentos
  • PageRank para clasificar la importancia de las páginas web
  • Pipelines de rastreo e indexación web a gran escala

DelcySearch demuestra cómo funcionan internamente las grandes plataformas de búsqueda combinando computación distribuida, algoritmos de grafos y técnicas de recuperación de información.

🎥 Demostración del Sistema

🔎 Características Principales

  • 🌐 Indexación masiva de documentos web
  • Búsqueda rápida basada en palabras clave
  • 📊 Ranking de páginas utilizando el algoritmo PageRank
  • 🗂️ Construcción distribuida de índices invertidos
  • 🧠 Procesamiento eficiente de consultas
  • ☁️ Procesamiento distribuido con Hadoop MapReduce
  • 📈 Arquitectura escalable para grandes conjuntos de datos

⚙️ Cómo Funciona el Motor de Búsqueda

El sistema sigue una tubería de procesamiento similar a la de los motores de búsqueda modernos:

Web Pages Dataset


Procesamiento de Datos (Hadoop)


Generación de Índice Invertido


Cálculo de PageRank


Motor de Consultas


Resultados Ordenados para el Usuario

Pasos del Procesamiento

1️⃣ Se recopilan grandes conjuntos de datos de páginas web
2️⃣ Hadoop procesa los documentos en paralelo
3️⃣ Se genera un Índice Invertido para una búsqueda rápida de palabras
4️⃣ El algoritmo PageRank calcula la importancia de cada página
5️⃣ Las consultas del usuario devuelven resultados ordenados según su relevancia

🏗️ Estructura del Proyecto

DelcySearch/
├── crawler/
│   └── scripts para recolectar páginas web

├── hadoop_jobs/
│   ├── inverted_index/
│   └── pagerank/

├── search_engine/
│   ├── query_processor/
│   └── ranking/

├── datasets/
│   └── conjuntos de datos web de ejemplo

└── README.md

🧰 Tecnologías Utilizadas

Procesamiento de Datos

  • Hadoop
  • MapReduce
  • Computación Distribuida

Algoritmos

  • Índice Invertido
  • PageRank

Backend

  • Python
  • Java

Datos

  • Grandes conjuntos de datos web
  • Procesamiento de texto

🚀 Primeros Pasos

1️⃣ Clonar el repositorio

git clone https://github.com/checho1402/DelcySearch.git
cd DelcySearch

2️⃣ Preparar el entorno de Hadoop

Asegúrate de que Hadoop esté instalado y configurado.

3️⃣ Ejecutar el trabajo de Índice Invertido

hadoop jar inverted_index.jar

4️⃣ Ejecutar el trabajo de PageRank

hadoop jar pagerank.jar

5️⃣ Ejecutar consultas de búsqueda

Ejecuta el procesador de consultas para recuperar resultados ordenados.

🧠 Conceptos Implementados

DelcySearch demuestra varios conceptos fundamentales en Recuperación de Información y Sistemas Distribuidos:

  • Procesamiento distribuido de grandes corpus de texto
  • Algoritmos de ranking basados en grafos
  • Estrategias de indexación para motores de búsqueda
  • Pipelines de procesamiento de datos en paralelo

Estos conceptos son fundamentales para motores de búsqueda a gran escala.

📧 Contacto

Hecho con ❤️ por Sergio Ramos | 2024