Thesis
Plataforma de Indexación Distribuida para Motores de Búsqueda
Fecha
2017Autor
Etchart, Juan Martín
Institución
Resumen
El objetivo principal de este trabajo es desarrollar una Plataforma de Indexación Distribuida que permita configurar varios aspectos a fin de adaptarse a cada situación particular. Algunas de las posibles configuraciones que debe ofrecer la plataforma son, elegir la cantidad de nodos que intervienen en el proceso de indexación, indicar un método para particionar la colección y unir los índices.
En la actualidad se cuenta con un gran volumen de datos a procesar, esto se presenta como un escenario ideal para pensar en una división del trabajo.
La idea principal de la indexación distribuida es balancear las cargas de procesamiento trabajando de forma paralela. La distribución de cargas no es un proceso que se comporte de manera lineal, esto significa que, no necesariamente si un trabajo que es realizado por una sola computadora insume cierto tiempo, al dividirlo entre dos se llevará acabo en la mitad del tiempo.
El objetivo principal de este trabajo es desarrollar una Plataforma de Indexación Distribuida que permita configurar varios aspectos a fin de adaptarse a cada situación particular. Algunas de las posibles configuraciones que debe ofrecer la plataforma son, elegir la cantidad de nodos que intervienen en el proceso de indexación, indicar un método para particionar la colección y unir los
índices.
Para la Plataforma de Indexación Distribuida se pretende codificar un módulo de particionamiento de la colección. Este módulo debe ofrecer dos tipos de estrategias, particionado por documentos y por términos. El proceso de distribución de los documentos entre los nodos puede realizarse de distintas maneras. Una de ellas consiste en dividir la cantidad de documentos entre los nodos de manera equitativa (Cant. Documentos / Cant. Nodos). Otra, se basa en repartir los documentos eligiendo el nodo que menos carga tiene. Esta diferencia entre la distribución de los documentos afectará de manera directa sobre los tiempos de indexación, y es un aspecto importante que se desea
evaluar.
Por otro lado, es posible hacer una división por términos y no por documentos. Esto significa que, a
cada nodo se le asigna una cierta cantidad de términos que solo él tendrá. De igual manera que la partición por documentos, se ofrecen dos métodos. El primero consiste en dividir la cantidad de palabras entre los nodos de manera igualitaria (Cant. Términos / Cant. Nodos), y el otro, reparte los términos eligiendo el nodo que tiene menos carga. Si bien el particionamiento por términos es un
aspecto que mejora notablemente la recuperación, se pretende realizar un análisis sobre su influencia en el proceso de indexación.
Realizar pruebas utilizando las distintas configuraciones que ofrece la plataforma y analizar utilizando distintas métricas sobre los tiempos del proceso de indexación es otro de los objetivos principales de este trabajo.
Además, se analiza qué configuración presenta la mejor eficiencia al indexar la colección de mayor tamaño sobre la arquitectura disponible, ya que hoy en día la indexación de grandes cantidades de datos es el escenario mas cotidiano.
Finalmente, la plataforma desarrollada resulta una herramienta con fines educativos para asignaturas de recuperación de información y motores de búsqueda. Y dado que genera índices con Terrier, puede ser utilizada para pruebas en trabajos de investigación.