Jose Manuel Ortega Candel - Desarrollo de motores de búsqueda utilizando herramientas open source

Здесь есть возможность читать онлайн «Jose Manuel Ortega Candel - Desarrollo de motores de búsqueda utilizando herramientas open source» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: unrecognised, на испанском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Desarrollo de motores de búsqueda utilizando herramientas open source: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Desarrollo de motores de búsqueda utilizando herramientas open source»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

El desarrollo de motores de búsqueda ha crecido en los últimos años gracias al uso de herramientas y frameworks open source, pues facilitan una base sobre la cual realizar nuestras aplicaciones orientadas a la extracción y búsqueda de diferentes fuentes de datos.
Si desea adquirir los conocimientos necesarios para dominar las principales herramientas open source, las librerías y los frameworks, ha llegado al libro indicado. Este manual le proporciona, desde un enfoque teórico-práctico, todos los conceptos e instrucciones que le permitirán construir desde cero motores de búsqueda utilizando los lenguajes de programación Java y Python.
Gracias a los contenidos del libro:
o Conocerá la estructura y naturaleza de un motor de búsqueda, así como la importancia de los sistemas de búsqueda y recuperación de la información.
o Aprenderá los principales motores de búsqueda open source y su funcionamiento interno.
o Dominará las diferentes herramientas para desarrollar motores de búsqueda utilizando frameworks de desarrollo dentro de los ecosistemas de programación Java y Python.
Además, con el objetivo de obtener el máximo provecho de las herramientas y facilitar el seguimiento de las prácticas del libro, en la primera página se proporciona el acceso al repositorio con el código de los ejemplos desarrollados.
Hágase con el libro y descubra las principales herramientas que todo desarrollador e ingeniero de software debe dominar para desarrollar sus propios motores de búsqueda.

Desarrollo de motores de búsqueda utilizando herramientas open source — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Desarrollo de motores de búsqueda utilizando herramientas open source», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

1.6.1 Lucene

Lucene es el corazón de la mayoría de los motores de búsqueda de hoy en día. Básicamente acepta el texto que se va a buscar, lo almacena en una estructura de datos (índice invertido) y, luego, acepta varios tipos de consultas de búsqueda y devuelve un conjunto de resultados que coinciden con los criterios de búsqueda.

Muchas soluciones de búsqueda basadas en servidor, como Apache Solr o ElasticSearch, están construidas sobre Lucene y marcan una evolución en el desarrollo de motores de búsqueda. El objetivo del diseño de estas herramientas es ofrecer un tipo de soluciones que proporcionen escalabilidad y alta disponibilidad a la base que trae Lucene como motor de búsqueda.

En los últimos años han surgido diferentes proyectos de la fundación Apache que también se consideran parte del universo de Lucene. Aunque estos proyectos son independientes, y más conocidos en otros contextos, se pueden integrar de forma sencilla con Lucene. Entre estos proyectos podemos destacar Hadoop, Mahout (un framework para aprendizaje automático), Nutch (una aplicación de búsqueda basada en Lucene) y Tika (que permite analizar documentos en diferentes formatos, como PDF, y se puede utilizar para alimentar con datos un índice de Lucene).

• Hadoop: http://hadoop.apache.org

• Mahout: http://mahout.apache.org

• Nutch: http://nutch.apache.org

• Tika: http://tika.apache.org

Apache Lucene guarda toda la información en una estructura llamada índice invertido. Se trata de una estructura de datos donde para cada término que encontramos en los diferentes documentos, obtiene los índices donde aparecen. Puede pensar en el índice invertido como en una estructura de datos donde estos están orientados a términos en lugar de a documentos.

Entre los conceptos claveque podemos encontrar en Lucene destacan:

• Index:colección de documentos con similares características.

• Type:partición lógica que contiene aquellos documentos que comparten información a través de un atributo.

• Document:unidad básica de información.

• Mapping:incluye datos sobre cómo la información se almacena en el índice en forma de atributos y propiedades, y sobre cómo se debe tratar un campo a la hora de hacer las búsquedas, a nivel de extraer tokens de una determinada cadena de búsqueda.

• Relevancia:son los algoritmos utilizados para clasificar los resultados basados en la consulta.

• Corpus:colección de todos los documentos del índice.

• Segmentos:datos fragmentados que almacenan el índice invertido y permiten buscar en el índice de una manera eficiente.

1.6.2 Índice invertido

El índice invertido es el corazón del motor de búsqueda. Es como una estructura en formato diccionario en un formato clave-valor, donde las claves son los términos que hemos generado con los n-gramas de todos los documentos. Cada índice invertido almacena la posición y el identificador del documento. Para cada término nos dice en qué documentos (indica la posición) aparece cada uno.

El índice invertido se crea por temas de optimización y son las estructuras de datos las que permiten realizar búsquedas sobre los documentos. Por ejemplo, Lucene, debido a su índice invertido, es uno de los motores más rápidos la hora de buscar un término en un campo. Cada campo que se indexa en Lucene se convierte en una estructura de búsqueda rápida para su tipo particular donde, por ejemplo, los campos de texto se dividen en tokens y los campos numéricos se convierten en sus representaciones binarias.

1.6.3 Apache Solr

Apache Solr es un motor de búsqueda de código abierto basado en la librería de búsqueda, escrita en Java, Lucene. Al haber sido desarrollado durante varios años y con las colaboraciones de la comunidad de desarrolladores, ha conseguido mejorar sus funcionalidades con el paso del tiempo. Apache Solr, además, provee diversas API para realizar desarrollos que precisen del uso del motor de búsqueda para recuperar información, y es muy sencillo trabajar con él gracias a su funcionalidad transparente al usuario. Para su ejecución, requiere de una máquina o servidor local y tener instalada la JVM (Java virtual machine) en el sistema.

1.6.4 ElasticSearch

ElasticSearch es un motor de búsqueda open source y, al igual que Apache Solr, está basado en la librería de búsqueda de Java Lucene. Sin embargo, ElasticSearch ha centrado su desarrollo en optimizar su funcionamiento y ha intentado ofrecer siempre funcionalidades que operan como motor de búsqueda de forma óptima. Esto quiere decir que, aunque provee numerosas API de desarrollo, intenta dejar la funcionalidad ajena al proceso de búsqueda a selección del desarrollador. Aun así, ElasticSearch es hoy en día uno de los mejores motores de búsqueda debido a lo bien construido que está y a una gran comunidad de usuarios que respalda el proyecto.

El hecho de que ElasticSearch utilice Lucene para resolver las búsquedas supone una ventaja en comparación con otros sistemas de consulta de bases de datos SQL. Una llamada a una API nos permite realizar búsquedas utilizando objetos JSON, lo cual resulta mucho más flexible y da a cada parámetro de búsqueda dentro del objeto un peso, importancia y/o prioridad diferentes.

Por ejemplo, insertar un documento en ElasticSearch es tan fácil como llamar al API REST que proporciona y enviar un objeto JSON mediante el método POST; si va a actualizar un documento, se utiliza el método PUT. Entre las ventajas que ofrece ElasticSearch destacamos:

• Podemos añadir un documento sin crear un índice.

• Si el índice no ha sido creado, ElasticSearch creará automáticamente el tipo de asignación y los campos al añadir un documento.

• ElasticSearch lo que hace internamente es deducir los tipos de datos basados en los del documento.

• En ElasticSearch, todas las conversiones de tipos se gestionan automáticamente. La búsqueda de un término es archivada por ElasticSearch utilizando el formato correcto para el campo.

1.6.5 Otros motores de búsqueda

Dentro del mercado IT podemos encontrar otros motores de búsqueda, entre los que podemos destacar:

• Splunk( https://www.splunk.com ) es una plataforma y un motor de búsqueda orientado a las anaĺíticas para el Big Data.

• Algolia( https://www.algolia.com ). Algolia’s Search es un producto que se ofrece como un SaaS ( software as a service ). Se trata de un servicio al que se accede a través de una plataforma web y que permite al usuario subir colecciones de documentos y realizar consultas sobre ellos. Para interactuar con la plataforma, aparte del propio servicio web, el servicio ofrece API (interfaz de programación de aplicaciones) de acceso para poder acceder desde otras aplicaciones a los recursos de Algolia.

• Amazon CloudSearch( http://aws.amazon.com ) es un motor de búsqueda para soluciones software con servicio cloud que se oferta desde Amazon Web Services. Es el producto más conocido de computación de servicios en la nube de la compañía Amazon. Este motor de búsqueda permite, tras registrarse en la plataforma, subir documentos y realizar búsquedas en ellos. Para construir aplicaciones que empleen los recursos de Amazon CloudSearch, la plataforma provee una API que permite el desarrollo de aplicaciones diversas, aunque principalmente de tipo web.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Desarrollo de motores de búsqueda utilizando herramientas open source»

Представляем Вашему вниманию похожие книги на «Desarrollo de motores de búsqueda utilizando herramientas open source» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Desarrollo de motores de búsqueda utilizando herramientas open source»

Обсуждение, отзывы о книге «Desarrollo de motores de búsqueda utilizando herramientas open source» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x