Information Retrieval System for Intranets based on ElasticSearch.
Palabras clave: Sistema de recuperación de Información, buscador, Intranet, ElasticSearch, documentos, relevancia.
Resumen
Este Trabajo Fin de Máster propone una solución inteligente a un problema real existente en muchas empresas privadas y por lo tanto intranets de las mismas: la búsqueda de documentos almacenados en su servidor.
Nos encontramos en la era de la información, donde cada día se generan PetaBytes de información en internet, y donde, a su vez, también se genera mucha información en las empresas. Todos los documentos suelen almacenarse en un servidor interno al cual pueden acceder los trabajadores de la misma. Suele estar distribuido por carpetas y por departamentos, pudiendo así almacenar los archivos en el mismo, teniendo los usuarios acceso a un número limitado de carpetas en red. Pero llega un momento en el que ya existen demasiados departamentos, categorías, subcategorías, etc, y empieza a ser un problema el encontrar un documento de hace algunas semanas que se guardó en algún lugar del servidor o servidores.
Este trabajo consiste en la realización de una aplicación web que permita a los trabajadores de una empresa y a todos los que tengan acceso a la intranet, a buscar los documentos que necesitan, de manera eficiente y rápida.
Para realizar este proyecto, vamos a utilizar una biblioteca muy potente llamada ElasticSearch [1], que está basada en Lucene [2], y la adaptamos a las necesidades internas de la empresa para optimizar el funcionamiento del mismo. Así, indexaremos todos los documentos pertenecientes a un servidor o servidores, y haremos las operaciones necesarias con los datos para tratar de minimizar el tiempo transcurrido entre la consulta del usuario y la respuesta del sistema con los documentos relevantes.
De este modo, un usuario podrá buscar en cuestión de segundos dónde está el documento que desea encontrar (en caso de que exista), o alguno parecido que le pueda servir de ayuda. Podrá visualizarlo o descargarlo sin perder tiempo abriendo rutas del servidor, o abriendo documentos para ver si sus contenidos eran los esperados para el mismo.
Keywords: Information Search and Retrieval System, Search Engine, Intranet, documents, ElasticSearch, relevance.
Abstract
This Final Master Project proposes an intelligent solution for a real problem that is frecuent in most of the private companies that have an intranet: the search of documents that are kept in their internal servers.
We are inverse in the information Area, where each day there are generate PetaBytes of Information in Internet, and at the same time, lots of information is generated by companies.
Documents are frequently stored in an internal server and which employers can access to them. It uses to be distributed by folders and departments, giving the possibility of storage the documents and giving users limited privileges to access them. But the amount of documents starts to grow and it is difficult to manage all departments, categories, subcategories, and start to be a problem to find a documents that you created a couple of weeks ago and you stored it in any place of the server.
This project consists on develop a web application that allow employers of a company and those who has permissions and internet access to search documents that they need, in an efficient and quick way.
To do this project, we are going to use a very powerful library called ElasticSearch [1], that is based on Lucene [2], and we will adapt it to the internal company needs to optimize the functioning. We will index all documents belonging to a server or servers, and we will implement the necessary operations with data to try to minimize time between the user query and the response of the system with the relevant documents.
In this mode, a user will be able to search in seconds where is the documents that need to find (if exists), or any similar one that can help. The user could see and download it without lose time opening server routers or opening documents to check if the contain if what he/she expected.