En la actualidad, el empleo de motores de búsqueda se ha extendido de forma generalizada. Esto se debe principalmente a la proliferación de sitios web, a la evolución de los sistemas y a las necesidades de compartir documentos y realizar búsquedas en un mundo globalizado y digitalmente conectado. Cabe destacar que los motores de búsqueda se encuentran muy de moda en la actualidad, no solamente por su gran éxito en la red y por su capacidad para indexar documentos, sino también por su utilización en el mundo de las redes sociales y en las modernas técnicas y herramientas de Big Data.
Los motores de búsqueda solucionan la mayoría de los problemas que se presentan a la hora de realizar una búsqueda con una cantidad elevada de datos, y permiten obtener resultados relevantes para el usuario mediante algoritmos de ordenación.
En la actualidad, cuando se habla de motor de búsqueda, se tiende a pensar en la consulta web. En general, el impacto que ha supuesto la creación de Internet, junto con la necesidad de los usuarios de compartir información, ha llevado a la inevitable búsqueda de herramientas que faciliten el proceso de clasificación de documentos conforme a las necesidades del usuario. Además, la creciente cantidad de datos que encontramos en Internet necesita ser estructurada y clasificada de algún modo que permita su interpretación. En esencia, esta es la misión de un motor de búsqueda: permitir a los usuarios acceder, a través de un conjunto de palabras clave, a la información que desean, intentando presentar en primer término los datos más relevantes para el usuario.
Sin embargo, los motores de búsqueda no se emplean únicamente en Internet. Aunque ese fuera el origen de su nacimiento, en la actualidad se han convertido en poderosas herramientas para aportar soluciones de negocio (por ejemplo, para búsquedas internas en la documentación de las empresas, o para situaciones que requieran localizar información dentro de un gran volumen de datos).
De esta manera, los motores de búsqueda se han convertido en algo intrínseco en nuestro día a día. Es por ello que realizar un estudio analizando las semejanzas y diferencias entre diferentes motores de búsqueda puede resultar muy interesante.
Entre los principales objetivos de este capítulo podemos destacar:
• Comprender la estructura y naturaleza de un motor de búsqueda y la importancia de los sistemas de búsqueda y recuperación de la información para su implementación.
• Conocer las necesidades típicas que se resuelven mediante motores de búsqueda.
• Conocer los principales motores de búsqueda que podemos encontrar en el mercado.
1.1 DEFINICIÓN DE MOTORES DE BÚSQUEDA
En la actualidad, para agilizar el tiempo de respuesta en el proceso de búsqueda, se hace uso de motores de búsqueda que suelen utilizar palabras clave y metadatos que provienen de las mismas páginas para, de esta forma, obtener un vocabulario y mejorar la búsqueda en el sitio.
Los motores de búsqueda han recorrido un largo camino desde sus primeros prototipos, y su desarrollo ha llevado a la investigación de múltiples tecnologías de búsqueda, que se desarrollaron a partir de diferentes motores. Alta Vista fue el primer motor de búsqueda para procesar las consultas en lenguaje natural; y Lycos fue uno de los primeros motores de búsqueda en implementar un sistema de categorización a partir de la relevancia de las palabras, teniendo en cuenta los prefijos en palabras clave y la proximidad de las palabras encontradas.
Un motor de búsqueda es un software o una secuencia de comandos que busca en documentos o en bases de datos las palabras clave y devuelve los resultados de todos los archivos que contengan esas palabras. Hoy en día, existen muchos motores de búsqueda diferentes disponibles en Internet, cada uno con sus propias habilidades y características. El primer motor de búsqueda desarrollado fue Archie ( https://es.wikipedia.org/wiki/Archie_(Buscador_FTP)), que fue utilizado para buscar archivos de forma similar al protocolo FTP. Hoy en día, el motor de búsqueda más popular es Google.
Al final, un motor de búsqueda como Google es un buscador jerárquico que va recorriendo páginas y recopilando información sobre su contenido. En el momento de realizar una consulta mediante frases o palabras clave, el motor de búsqueda reúne información de su base de datos y la muestra al usuario según la relevancia que cada motor pueda definir. Como resultado final, devuelve al usuario los resultados en un listado de páginas que contienen las palabras de la consulta realizada.
1.2 ¿POR QUÉ NECESITO UN MOTOR DE BÚSQUEDA?
En primer lugar, sería interesante analizar las preguntas que deberíamos responder sobre sus datos y los casos de uso para decidir si un motor de búsqueda sería lo más adecuado para el problema que trata de resolver. Al final, se trata de entender los datos y los usuarios y elegir una tecnología que funcione para ambos.
Una característica distintiva de las arquitecturas de aplicaciones modernas es hacer coincidir el motor de almacenamiento y procesamiento con los datos. Si es un programador, debe seleccionar la mejor estructura de datos en función de cómo se utilizarán los datos en un algoritmo. El mismo principio se aplica con los motores de búsqueda.
Los motores de búsqueda están optimizados para manejar datos que tienen las siguientes características:
• Extracción de texto en documentos
• Operaciones de lectura
• Orientación a documentos
• Esquema de documentos flexible a los cambios
Una posible quinta característica es la de tener un gran volumen de datos para tratar, es decir, Big Data. Pero sería interesante estudiar lo que hace que un motor de búsqueda sea especial para manejar grandes volúmenes de datos. Por ahora, nos centraremos en los conceptos de alto nivel.
1.2.1 Extracción de texto en documentos
Esta característica hace referencia a que un motor de búsqueda está específicamente diseñado para extraer la estructura implícita del texto a partir de la información que almacena en los índices. Los datos centrados en el texto implican que el texto de un documento contiene información que los usuarios están interesados en encontrar. Por supuesto, un motor de búsqueda también admite datos sin texto, como fechas y números, pero su principal ventaja reside en su capacidad de manejar textos basados en lenguaje natural.
1.2.2 Operaciones de lectura
Otro aspecto clave es que los motores de búsqueda manejan de manera efectiva la información en modo lectura y, por lo tanto, están optimizados para acceder con eficiencia a la información de los índices. Esto significa que las operaciones de lectura son más óptimas si las comparamos con operaciones de creación o actualización. Esto no quiere decir que no se puedan escribir grandes cantidades de datos o que existan límites sobre la frecuencia con la que se pueden escribir otros nuevos. De hecho, una de las características clave de los motores de búsqueda es la capacidad que tienen, casi en tiempo real, de indexar miles de documentos por segundo y hacer que se puedan buscar casi de inmediato.
El punto más importante es que cuando escribe datos en los índices de un motor de búsqueda, estos datos están destinados a ser leídos en algún momento y releídos muchas veces a lo largo de su vida útil. Piense en un motor de búsqueda como en una herramienta optimizada para ejecutar consultas, en lugar de almacenar datos. Además, si las operaciones de actualización van a ser más frecuentes que las operaciones de lectura, esto podría ser un indicador de que un motor de búsqueda podría no ser la mejor solución para sus necesidades. Existen otras tecnologías NoSQL, como MongoDB o Cassandra, que podrían ser mejores opciones si necesitara escrituras aleatorias rápidas de los datos existentes.
Читать дальше