official-store-logo

Pagá en cuotas

Envío gratis a todo el país

Conocé los tiempos y las formas de envío.

Stock disponible

Información de la tienda

Alfaomega
Alfaomega

Tienda oficial de Mercado Libre

MercadoLíder Platinum

¡Es uno de los mejores del sitio!

Descripción

TÍTULO: Desarrollo de motores de búsqueda utilizando herramientas open source SUBTÍTULO: Análisis y desarrollo con Apache Lucene, Solr y ElasticSearch
AUTOR: José Manuel Ortega Candel
PÁGINAS: 390
ISBN: 9788426733115
AÑO: 2021
EDICIÓN: 1
FORMATO: 17X24 cm.
ENCUADERNACIÓN: Rústica

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:
• 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.
• Aprenderá los principales motores de búsqueda open source y su funcionamiento interno.
• 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.

ÍNDICE
INTRODUCCIÓN .......................................................................................... 1
CAPÍTULO 1
INTRODUCCIÓN A LOS MOTORES DE BÚSQUEDA ............................. 3
1.1 Definición de motores de búsqueda ................................................. 4
1.2 ¿Por qué necesito un motor de búsqueda? ...................................... 5
1.2.1 Extracción de texto en documentos ....................................... 5
1.2.2 Operaciones de lectura............................................................. 6
1.2.3 Esquema flexible ....................................................................... 6
1.3 Funcionamiento de un motor de búsqueda ..................................... 7
1.3.1 Buscadores de directorios ........................................................ 8
1.3.2 Buscadores jerárquicos............................................................. 8
1.3.3 Spiders (arañas o crawlers)...................................................... 8
1.4 Proceso de indexación ........................................................................ 10
1.4.1 Rendimiento en la indexación de documentos .................... 10
1.4.2 Stopwords .................................................................................. 11
1.4.3 Steamming................................................................................. 11
1.5 Recuperación de la información........................................................ 12
1.5.1 Extracción de información ...................................................... 14
1.5.2 Sistema de búsqueda/respuesta.............................................. 15
1.6 Motores de búsqueda e indexadores ................................................ 15
1.6.1 Lucene ........................................................................................ 17
1.6.2 Índice invertido......................................................................... 19
1.6.3 Apache Solr ................................................................................ 19
1.6.4 ElasticSearch.............................................................................. 19
1.6.5 Otros motores de búsqueda..................................................... 20
1.7 Herramientas de procesamiento de lenguaje natural (PLN) ......... 21

CAPÍTULO 2
APACHE LUCENE ......................................................................................... 25
2.1 Introducción a Apache Lucene .......................................................... 25
2.2 Módulos y funcionalidades de Apache Lucene ............................... 28
2.3 Arquitectura de Apache Lucene ........................................................ 31
2.3.1 Proceso de tokenización y búsqueda en Apache Lucene ..... 34
2.4 Trabajar con Apache Lucene .............................................................. 36
2.4.1 Configuración del entorno ...................................................... 36
2.4.2 Crear un índice.......................................................................... 40
2.4.3 Crear y escribir documentos en un índice ............................ 43
2.5 Realizar búsquedas en Apache Lucene ............................................. 47
2.5.1 Obtención de un IndexSearcher ............................................. 47
2.5.2 Proceso de búsqueda con IndexSearcher ............................... 48
2.5.3 Crear consultas con Lucene QueryParser .............................. 49
2.5.4 Sintaxis de las consultas en Apache Lucene ......................... 53
2.6 Búsqueda de información con Apache Lucene................................ 55
2.7 Búsqueda en múltiples índices de Lucene ....................................... 58
2.8 Herramientas de administración de Lucene ................................... 60
2.9 Herramientas de búsqueda que usan Apache Lucene.................... 61
2.9.1 Krugle ......................................................................................... 61
2.9.2 Google Dataset Search.............................................................. 62
2.9.3 Otros repositorios y portales ................................................... 63

CAPÍTULO 3
APACHE SOLR............................................................................................... 65
3.1 Introducción a Apache Solr................................................................ 65
3.2 Arquitectura de Apache Solr .............................................................. 67
3.3 Indexación e índice invertido en Apache Solr ................................. 69
3.3.1 Relevancia y filtro en las búsquedas ...................................... 69
3.4 Instalación de Solr ............................................................................... 70
3.5 Configurar Apache Solr....................................................................... 75
3.5.1 Ficheros de configuración y esquema .................................... 77
3.5.2 Proceso de indexación.............................................................. 82
3.5.3 Indexación de datos con SimplePostTool .............................. 84
3.5.4 Esquema administrado en Apache Solr ................................. 88
3.5.5 Añadir información al índice .................................................. 90
3.6 Búsqueda de documentos .................................................................. 92
3.6.1 Usar la API REST ....................................................................... 94
3.6.2 Consultas básicas de Solr......................................................... 97
3.6.3 Componente stats (estadísticas) ............................................ 102
3.7 Consultas avanzadas de Solr .............................................................. 103
3.7.1 Paginación y clasificación ........................................................ 103
3.7.2 Navegación facetada en Solr.................................................... 105
3.7.3 Búsqueda de facetas en Solr .................................................... 109
3.8 Componentes de una petición en Solr ............................................. 114
3.8.1 Controladores Request Handler ............................................. 114
3.9 Analizadores en Apache Solr ............................................................. 116
3.9.1 Definir campos personalizados............................................... 117
3.9.2 Configuración de los tipos de campos ................................... 120
3.9.3 Propiedad score ......................................................................... 123
3.10 Monitorización del rendimiento de Apache Solr ............................ 124
3.10.1 Página de plugins/estadísticas de Apache Solr ................... 124
3.11 Ejecución en modo Cloud .................................................................. 127
3.11.1 Terminología usada en SolrCloud ......................................... 128
3.11.2 SolrCloud ................................................................................. 130
3.11.3 Ejecutar SolrCloud .................................................................. 130
3.11.4 Indexación distribuida ........................................................... 131
3.11.5 Ventajas de SolrCloud ............................................................ 133
3.12 Arrancar Apache Solr desde Docker.................................................. 134
3.13 Interactuar con Solr desde Java ......................................................... 137
3.13.1 Añadir Solrj a un proyecto Maven........................................ 138
3.13.2 Conexión con el servidor Solr desde Java ............................ 140
3.14 Crawling con Apache Nutch y conexión con Apache Solr ............. 147
3.15 Conclusiones de Apache Solr............................................................. 152

CAPÍTULO 4
ELASTICSEARCH .......................................................................................... 155
4.1 Introducción a ElasticSearch ............................................................. 155
4.1.1 Ventajas de ElasticSearch sobre Apache Solr ........................ 159
4.2 Uso de ElasticSearch para proyectos de Big Data ............................ 159
4.3 Arquitectura de ElasticSearch............................................................ 160
4.3.1 Nodos en ElasticSearch ............................................................ 163
4.4 ElasticSearch como solución distribuida.......................................... 164
4.5 Fragmentos y réplicas en ElasticSearch............................................ 166
4.6 Instalación de ElasticSearch .............................................................. 170
4.7 Crear un índice en ElasticSearch ....................................................... 174
4.8 API REST de ElasticSearch.................................................................. 176
4.8.1 Mapping o estructura de los datos del índice ....................... 184
4.8.2 Recuperar parte de un documento ......................................... 187
4.8.3 Asignar un mapeo a un índice ................................................ 188
4.8.4 Query DSL (solicitudes DSL) ................................................... 191
4.8.5 Búsquedas en ElasticSearch..................................................... 196
4.8.6 La consulta multi_match ......................................................... 206
4.8.7 Navegación facetada en ElasticSearch ................................... 208
4.8.8 Agregaciones en documentos ................................................. 209
4.8.9 Autocompletado en ElasticSearch .......................................... 210
4.8.10 Analizadores en ElasticSearch .............................................. 214
4.9 Relevancia de documentos en ElasticSearch ................................... 216
4.9.1 Puntuación y relevancia de los documentos......................... 216
4.9.2 Mejorar la relevancia de los resultados de búsqueda........... 219
4.10 Estadísticas e información sobre el clúster, índices y nodos ......... 222
4.10.1 Estado del clúster ................................................................... 222
4.10.2 Métricas del clúster ................................................................ 225
4.10.3 Estadísticas de los índices ..................................................... 226
4.11 Herramientas de monitorización en ElasticSearch......................... 228
4.11.1 ElasticSearch Head ................................................................. 229
4.11.2 ElasticSearch query client ..................................................... 233
4.11.3 Cerebro..................................................................................... 235

CAPÍTULO 5
CLIENTES ELASTICSEARCH ...................................................................... 239
5.1 Clientes de conexión en Java ............................................................. 239
5.2 Conexión al clúster de ElasticSearch ................................................ 242
5.3 Gestionar índices................................................................................. 244
5.4 Indexación de documentos en el índice .......................................... 246
5.5 Búsqueda de documentos en el índice ............................................. 247
5.6 Integración con Spring Data .............................................................. 252
5.7 Seguridad en ElasticSearch ................................................................ 287
5.8 Conclusiones de ElasticSearch .......................................................... 293

CAPÍTULO 6
VISUALIZACIÓN DE DATOS CON KIBANA ............................................ 295
6.1 Introducción a Kibana ........................................................................ 295
6.2 Stack ELK .............................................................................................. 297
6.2.1 Principales usos de ELK ........................................................... 298
6.2.2 Stack ELK en contenedores Docker........................................ 298
6.3 Instalación de Kibana ......................................................................... 301
6.4 LogStash ............................................................................................... 308
6.4.1 Instalación de LogStash ........................................................... 309
6.4.2 Configuración de LogStash ...................................................... 310
6.4.3 Otros servicios de Elastic ......................................................... 317
6.5 Monitorización de LogStash desde Kibana ...................................... 318
6.6 Seguridad en Kibana ........................................................................... 321

CAPÍTULO 7
MOTORES DE BÚSQUEDA CON PYTHON .............................................. 325
7.1 Conectando con Solr desde Python .................................................. 325
7.2 Integración de ElasticSearch con Python ......................................... 327
7.2.1 Crear un índice e insertar documentos usando Python ...... 329
7.2.2 Realizar búsquedas usando Python........................................ 331
7.3 Consultar ElasticSearch a través de la API REST en Python .................................
7.4 Optimizar un índice en ElasticSearch............................................... 350
7.5 Indexar documentación de Django ................................................... 351
7.6 Whoosh como motor de búsqueda en Python ................................ 359
7.6.1 Whoosh schema ........................................................................ 360
7.6.2 Realizar búsquedas en Whoosh y scoring.............................. 362
7.7 Django-haystack .................................................................................. 365
7.7.1 Integrar haystack en una aplicación Django ......................... 366

CAPÍTULO 8
GLOSARIO DE TÉRMINOS ......................................................................... 371

Preguntas y respuestas

¿Qué querés saber?

Nadie hizo preguntas todavía. ¡Hacé la primera!