SlideShare una empresa de Scribd logo
Tutorial – Búsquedas inteligentes con Azure Cognitive Search
Luis Beltrán (luis@luisbeltran.mx)
En esta guía paso a paso aprenderás a implementar Azure Cognitive Search para encontrar
información en datos no estructurados, como puede ser imágenes, documentos PDF, de texto y
otros distintos a una tradicional base de datos. Posteriormente, construirás un sitio web que usa
dicho servicio para permitir que tus usuarios realicen las búsquedas inteligentes de información.
Parte 1 – Creación del servicio inteligente de Search en Azure
Requisitos: Cuenta de Azure
Paso 1. Ingresa al portal de Azure (https://portal.azure.com) y da clic en Create a resource.
En el buscador, ingresa Azure Cognitive Search y selecciónalo de la lista una vez localizado.
Aparecerá la siguiente ventana, simplemente da clic en el botón Create.
En la pestaña de información básica del servicio, da clic en Create new.
Y escribe el nombre SmartSearchRG, dando clic en OK para confirmar.
A continuación, ingresa la siguiente información:
• URL: smartsearchtunombre (por ejemplo smeartsearchluisbeltran)
• Location: Elige la región (South America) Brazil South
Y da clic en Change Pricing Tier
Selecciona el plan gratuito (Free), confirmando la opción dando clic en el botón Select.
Ahora sí da clic en Review + create:
Comenzará un proceso de validación de la información; en caso de ser exitoso este proceso, se
habilitará el botón Create. Haz clic en él y espera a que el aprovisionamiento de recursos finalice.
Cuando la operación finalice, aparecerá la siguiente información, confirmando el resultado. Da
clic en Go to resource en caso de que se haya completado el proceso con éxito.
Aparecerá la información del recurso Search que acabas de crear. Copia la URL de tu servicio en
la sección Overview y pégala en un bloc de notas, la utilizaremos más adelante.
Da clic en la sección Keys y copia la llave principal del servicio. También pégala en el bloc de notas
para utilizarla más adelante:
Paso 2. Accede a este enlace y descarga los archivos incluidos en dicha carpeta compartida. Como
puedes ver en la siguiente imagen, es una colección de distintos formatos: imágenes, archivos
pdf, documentos de texto, etc.
Regresa al portal de Azure y en esta ocasión vamos a crear un recurso Storage account – blob,
file, table, queue. Primero, lo buscamos de la lista:
Una vez localizado, da clic en él y en la pantalla de descripción simplemente da clic en Create:
En la sección de datos básicos, comienza ingresando la siguiente información:
• Resource group: SmartSearchRG (selecciónalo de la lista)
• Storage account name: storagetunombre (por ejemplo, storageluisbeltran)
• Location: (South America) Brazil South
• El resto de las propiedades se quedan igual
• Da clic en Review + créate.
Haz clic en Create en caso de que la validación de información sea exitosa.
El recurso comenzará a provisionarse en Azure. Da clic en Go to resource si la operación también
fue finalizada sin errores:
Paso 3. Vamos a subir los archivos descargados en el paso anterior. Para ello, en la vista de tu
cuenta de almacenamiento (storage), da clic en la sección Containers
En la siguiente pantalla, agrega un nuevo contenedor dando clic en el botón + Container, coloca
el nombre documents y da clic en Create.
Podrás ver que se agregó el contenedor con éxito. Da clic en él para acceder a su contenido.
El cual, por supuesto, está vacío. Da clic en el botón Upload.
En la siguiente pantalla, da clic en el ícono de la carpeta
Selecciona los 14 archivos descargados en el paso anterior y da clic en el botón Open/Add
Ahora haz clic en el botón Upload:
Y comenzará el proceso de subida de archivos:
Cuando este proceso finalice, el contenedor documents tendrá la siguiente apariencia.
Paso 4. Es hora de generar nuestro proceso de búsqueda inteligente. Regresa al recurso
smartsearchtunombre creado en el paso 1 y da clic en Import data.
En la sección Connect to your data, ingresa la siguiente información:
• Data Source: selecciona Azure Blob Storage
• Data source name: Ingresa storagetunombre (lo definiste en el paso 2)
• Data to extract: Content and metadata
• Connection string: Da clic en el botón Choose an existing connection
Selecciona tu cuenta de almacenamiento creada en el paso 2 (la misma que acabas de escribir
en Data source name):
Se te solicitará seleccionar un contenedor donde están los archivos. Elige documents y confirma
haciendo clic en Select
Una vez obtenida la cadena de conexión a tu cuenta de almacenamiento y contenedor, da clic en
Next: Add cognitive skills (Optional).
En la sección Add cognitive skills (Optional), expande la pestaña Attach Cognitive Services y
asegúrate de que está seleccionada la opción Free
Ahora expande la pestaña Add enrichments, coloca el nombre azureblob-skillset al skillset y
selecciona las siguientes opciones:
• Enable OCR and merge all text into merged content field
• Pages (5000 characters chunks) en Enrichment granularity level
• Bajo Text Cognitive Skills, activa Extract people, organization y location names.
• Bajo Image Cognitive Skills, activa Generate tags y captions from images.
Y da clic en Next: Customize target index
En la siguiente pantalla, realiza los siguientes cambios:
• Desactiva el checkbox en la columna Retrievable del campo content.
• Activa el checkbox en la columna Retrievable del campo metadata_storage_name
• Activa (aunque ya deberían venir por defecto) los siguientes campos en la columna
Retrievable: people, organizations, locations, merged_content, text, layoutText,
imageTags e imageCaption.
Da clic en Next: Create an indexer una vez realizado lo anterior:
Ya para finalizar, coloca el nombre azureblob-indexer a tu indexador y en la calendarización
selecciona Once (solo se generará una vez el índice, justo ahora). Da clic en Submit.
Comenzará el proceso de generación del indexador. Si regresas a la sección Overview de tu
servicio Search y seleccionas Indexers, observarás que hay una tarea en proceso:
Después de unos segundos, actualiza la vista con el botón Refresh y observarás que los 14
documentos han sido procesados. Si el status aparece en Warning, no te preocupes, se ha
completado con éxito, aunque es importante revisarlo y entender las advertencias, a fin de
mejorar nuestro buscador.
Paso 5. Vamos a probar nuestro buscador. Para ello, da clic en el botón Search explorer:
En la sección Query string escribe la siguiente cadena de búsqueda:
$select=people,organizations,locations,imageTags,metadata_storage_name&search=satya
Da clic en el botón Search y observa que se devuelven dos resultados (documentos). Cada uno a
su vez contiene información extraída del documento original (cuyo nombre también se incluye
en los resultados), tal como los nombres de las personas identificadas, los nombres de empresas
u organizaciones, ciudades e información descriptiva de la imagen, etc.
El primer documento es un archivo de texto:
Mientras que el segundo documento que incluye el término de búsqueda es una imagen:
Paso 6. A fin de integrar este servicio de búsqueda en tus proyectos, necesitas incluir lo siguiente
en tu petición HTTP:
• Agregar una cabecera llamada api-key, cuyo valor es la llave principal que obtuviste al
visitar la sección Keys de tu recurso Search.
• Realizar una petición de tipo GET a la Request URL que aparece el paso 5 después de dar
clic en Search al incluir la query string.
Observa que la URL incluye la query string, por lo que puedes reemplazar los campos del $select
(la información que quieres que el servicio devuelva en los resultados) y el valor del parámetro
search (el término de búsqueda).

Más contenido relacionado

La actualidad más candente

Converter c8000
Converter c8000Converter c8000
Converter c8000
Gustavo De Haro
 
Sistema de numeracion de referencias VAG - Seat Audi Skoda Volkswagen
Sistema de numeracion de referencias VAG - Seat Audi Skoda VolkswagenSistema de numeracion de referencias VAG - Seat Audi Skoda Volkswagen
Sistema de numeracion de referencias VAG - Seat Audi Skoda Volkswagendegarden
 
[Ford] fiesta 2009
[Ford]  fiesta 2009[Ford]  fiesta 2009
[Ford] fiesta 2009
Jorge Antonio Guillen
 
16M B9H1-750 Hydraulic Schematic.pdf
16M B9H1-750 Hydraulic Schematic.pdf16M B9H1-750 Hydraulic Schematic.pdf
16M B9H1-750 Hydraulic Schematic.pdf
junprc1
 
Neutralizing SQL Injection in PostgreSQL
Neutralizing SQL Injection in PostgreSQLNeutralizing SQL Injection in PostgreSQL
Neutralizing SQL Injection in PostgreSQL
Juliano Atanazio
 
Aspectos de la clase Vector - Java
Aspectos de la clase Vector - JavaAspectos de la clase Vector - Java
Aspectos de la clase Vector - Java
Martin Pacheco
 
Crdi kia
Crdi kiaCrdi kia

La actualidad más candente (8)

Converter c8000
Converter c8000Converter c8000
Converter c8000
 
Sistema de numeracion de referencias VAG - Seat Audi Skoda Volkswagen
Sistema de numeracion de referencias VAG - Seat Audi Skoda VolkswagenSistema de numeracion de referencias VAG - Seat Audi Skoda Volkswagen
Sistema de numeracion de referencias VAG - Seat Audi Skoda Volkswagen
 
[Ford] fiesta 2009
[Ford]  fiesta 2009[Ford]  fiesta 2009
[Ford] fiesta 2009
 
Ordenamiento por insercion
Ordenamiento por insercionOrdenamiento por insercion
Ordenamiento por insercion
 
16M B9H1-750 Hydraulic Schematic.pdf
16M B9H1-750 Hydraulic Schematic.pdf16M B9H1-750 Hydraulic Schematic.pdf
16M B9H1-750 Hydraulic Schematic.pdf
 
Neutralizing SQL Injection in PostgreSQL
Neutralizing SQL Injection in PostgreSQLNeutralizing SQL Injection in PostgreSQL
Neutralizing SQL Injection in PostgreSQL
 
Aspectos de la clase Vector - Java
Aspectos de la clase Vector - JavaAspectos de la clase Vector - Java
Aspectos de la clase Vector - Java
 
Crdi kia
Crdi kiaCrdi kia
Crdi kia
 

Similar a Tutorial: Busquedas inteligentes con Azure Cognitive Search

Base de datos activa
Base de datos activaBase de datos activa
Base de datos activa
barbarasadee
 
Seguridad en access
Seguridad en accessSeguridad en access
Seguridad en access
ssuser3a82fb
 
Creacion de una Base de Datos en ACCESS 2013-Objetos
Creacion de una Base de Datos en ACCESS 2013-ObjetosCreacion de una Base de Datos en ACCESS 2013-Objetos
Creacion de una Base de Datos en ACCESS 2013-Objetos
Sebastian Andrade
 
Base de datos Juan Gomez 27046004 #44
Base de datos Juan Gomez 27046004 #44 Base de datos Juan Gomez 27046004 #44
Base de datos Juan Gomez 27046004 #44
JuanGomez928
 
bases de datos desde visual basic
bases de datos desde visual basicbases de datos desde visual basic
bases de datos desde visual basic
santiagomario8
 
Conectar con bases de datos
Conectar con bases de datosConectar con bases de datos
Conectar con bases de datos
Rafael Quintero
 
Taller 23 analisis_metadatos_galarraga
Taller 23 analisis_metadatos_galarragaTaller 23 analisis_metadatos_galarraga
Taller 23 analisis_metadatos_galarraga
Fabricio Galárraga
 
Actividades tema 12
Actividades tema 12Actividades tema 12
Actividades tema 12mariavarey
 
Trabajo de informatica
Trabajo de informaticaTrabajo de informatica
Trabajo de informatica
nestor2004
 
Realiza una presentación gráficaa.pptx
Realiza una presentación gráficaa.pptxRealiza una presentación gráficaa.pptx
Realiza una presentación gráficaa.pptx
Nora665337
 
slideshare.pptx
slideshare.pptxslideshare.pptx
slideshare.pptx
LupitaCuestaCastao
 
Realizar una presentación gráfica
Realizar una presentación gráficaRealizar una presentación gráfica
Realizar una presentación gráfica
SusanaEsmeraldaIzqui
 
Tema01: Primeros Pasos en Access 2016
Tema01: Primeros Pasos en Access 2016Tema01: Primeros Pasos en Access 2016
Tema01: Primeros Pasos en Access 2016
Jose Ramon Perez
 
Manual edu bot
Manual edu botManual edu bot
Manual edu bot
ABACO
 
Tutorial como usar sky drive
Tutorial como usar sky driveTutorial como usar sky drive
Tutorial como usar sky drive
Wilson Paul Herrera Pusma
 
Como conectar visual_basic
Como conectar visual_basicComo conectar visual_basic
Como conectar visual_basic
yenniferadaluzcastel
 

Similar a Tutorial: Busquedas inteligentes con Azure Cognitive Search (20)

Tutorial de bd4o
Tutorial de bd4oTutorial de bd4o
Tutorial de bd4o
 
Base de datos activa
Base de datos activaBase de datos activa
Base de datos activa
 
Temario
Temario Temario
Temario
 
Seguridad en access
Seguridad en accessSeguridad en access
Seguridad en access
 
Creacion de una Base de Datos en ACCESS 2013-Objetos
Creacion de una Base de Datos en ACCESS 2013-ObjetosCreacion de una Base de Datos en ACCESS 2013-Objetos
Creacion de una Base de Datos en ACCESS 2013-Objetos
 
Base de datos Juan Gomez 27046004 #44
Base de datos Juan Gomez 27046004 #44 Base de datos Juan Gomez 27046004 #44
Base de datos Juan Gomez 27046004 #44
 
Manual de paginas web
Manual de paginas webManual de paginas web
Manual de paginas web
 
Manual de paginas web
Manual de paginas webManual de paginas web
Manual de paginas web
 
bases de datos desde visual basic
bases de datos desde visual basicbases de datos desde visual basic
bases de datos desde visual basic
 
Conectar con bases de datos
Conectar con bases de datosConectar con bases de datos
Conectar con bases de datos
 
Taller 23 analisis_metadatos_galarraga
Taller 23 analisis_metadatos_galarragaTaller 23 analisis_metadatos_galarraga
Taller 23 analisis_metadatos_galarraga
 
Actividades tema 12
Actividades tema 12Actividades tema 12
Actividades tema 12
 
Trabajo de informatica
Trabajo de informaticaTrabajo de informatica
Trabajo de informatica
 
Realiza una presentación gráficaa.pptx
Realiza una presentación gráficaa.pptxRealiza una presentación gráficaa.pptx
Realiza una presentación gráficaa.pptx
 
slideshare.pptx
slideshare.pptxslideshare.pptx
slideshare.pptx
 
Realizar una presentación gráfica
Realizar una presentación gráficaRealizar una presentación gráfica
Realizar una presentación gráfica
 
Tema01: Primeros Pasos en Access 2016
Tema01: Primeros Pasos en Access 2016Tema01: Primeros Pasos en Access 2016
Tema01: Primeros Pasos en Access 2016
 
Manual edu bot
Manual edu botManual edu bot
Manual edu bot
 
Tutorial como usar sky drive
Tutorial como usar sky driveTutorial como usar sky drive
Tutorial como usar sky drive
 
Como conectar visual_basic
Como conectar visual_basicComo conectar visual_basic
Como conectar visual_basic
 

Más de Luis Beltran

AI for Accessibility.pptx
AI for Accessibility.pptxAI for Accessibility.pptx
AI for Accessibility.pptx
Luis Beltran
 
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptxNET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
Luis Beltran
 
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
Luis Beltran
 
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
Luis Beltran
 
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdfCEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
Luis Beltran
 
Computo en la Nube con Azure - AI Gaming Panama.pptx
Computo en la Nube con Azure - AI Gaming Panama.pptxComputo en la Nube con Azure - AI Gaming Panama.pptx
Computo en la Nube con Azure - AI Gaming Panama.pptx
Luis Beltran
 
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
Luis Beltran
 
ACW - Azure Speaker Recognition Biometria de Voz.pptx
ACW - Azure Speaker Recognition Biometria de Voz.pptxACW - Azure Speaker Recognition Biometria de Voz.pptx
ACW - Azure Speaker Recognition Biometria de Voz.pptx
Luis Beltran
 
UNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptxUNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptx
Luis Beltran
 
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
Luis Beltran
 
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptxLatino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
Luis Beltran
 
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptxNOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
Luis Beltran
 
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Luis Beltran
 
ATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptxATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptx
Luis Beltran
 
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
Luis Beltran
 
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Luis Beltran
 
Real NET Docs Show - Serverless Machine Learning v3.pptx
Real NET Docs Show - Serverless Machine Learning v3.pptxReal NET Docs Show - Serverless Machine Learning v3.pptx
Real NET Docs Show - Serverless Machine Learning v3.pptx
Luis Beltran
 
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptxSesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
Luis Beltran
 
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
Luis Beltran
 
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptxLatam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
Luis Beltran
 

Más de Luis Beltran (20)

AI for Accessibility.pptx
AI for Accessibility.pptxAI for Accessibility.pptx
AI for Accessibility.pptx
 
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptxNET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
 
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
 
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
 
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdfCEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
 
Computo en la Nube con Azure - AI Gaming Panama.pptx
Computo en la Nube con Azure - AI Gaming Panama.pptxComputo en la Nube con Azure - AI Gaming Panama.pptx
Computo en la Nube con Azure - AI Gaming Panama.pptx
 
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
 
ACW - Azure Speaker Recognition Biometria de Voz.pptx
ACW - Azure Speaker Recognition Biometria de Voz.pptxACW - Azure Speaker Recognition Biometria de Voz.pptx
ACW - Azure Speaker Recognition Biometria de Voz.pptx
 
UNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptxUNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptx
 
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
 
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptxLatino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
 
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptxNOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
 
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
 
ATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptxATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptx
 
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
 
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
 
Real NET Docs Show - Serverless Machine Learning v3.pptx
Real NET Docs Show - Serverless Machine Learning v3.pptxReal NET Docs Show - Serverless Machine Learning v3.pptx
Real NET Docs Show - Serverless Machine Learning v3.pptx
 
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptxSesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
 
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
 
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptxLatam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
 

Último

Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
durangense277
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
JuanAlvarez413513
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
SofiaCollazos
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 

Último (20)

Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 

Tutorial: Busquedas inteligentes con Azure Cognitive Search

  • 1. Tutorial – Búsquedas inteligentes con Azure Cognitive Search Luis Beltrán (luis@luisbeltran.mx) En esta guía paso a paso aprenderás a implementar Azure Cognitive Search para encontrar información en datos no estructurados, como puede ser imágenes, documentos PDF, de texto y otros distintos a una tradicional base de datos. Posteriormente, construirás un sitio web que usa dicho servicio para permitir que tus usuarios realicen las búsquedas inteligentes de información. Parte 1 – Creación del servicio inteligente de Search en Azure Requisitos: Cuenta de Azure Paso 1. Ingresa al portal de Azure (https://portal.azure.com) y da clic en Create a resource.
  • 2. En el buscador, ingresa Azure Cognitive Search y selecciónalo de la lista una vez localizado. Aparecerá la siguiente ventana, simplemente da clic en el botón Create.
  • 3. En la pestaña de información básica del servicio, da clic en Create new. Y escribe el nombre SmartSearchRG, dando clic en OK para confirmar.
  • 4. A continuación, ingresa la siguiente información: • URL: smartsearchtunombre (por ejemplo smeartsearchluisbeltran) • Location: Elige la región (South America) Brazil South Y da clic en Change Pricing Tier
  • 5. Selecciona el plan gratuito (Free), confirmando la opción dando clic en el botón Select. Ahora sí da clic en Review + create:
  • 6. Comenzará un proceso de validación de la información; en caso de ser exitoso este proceso, se habilitará el botón Create. Haz clic en él y espera a que el aprovisionamiento de recursos finalice. Cuando la operación finalice, aparecerá la siguiente información, confirmando el resultado. Da clic en Go to resource en caso de que se haya completado el proceso con éxito.
  • 7. Aparecerá la información del recurso Search que acabas de crear. Copia la URL de tu servicio en la sección Overview y pégala en un bloc de notas, la utilizaremos más adelante. Da clic en la sección Keys y copia la llave principal del servicio. También pégala en el bloc de notas para utilizarla más adelante:
  • 8. Paso 2. Accede a este enlace y descarga los archivos incluidos en dicha carpeta compartida. Como puedes ver en la siguiente imagen, es una colección de distintos formatos: imágenes, archivos pdf, documentos de texto, etc. Regresa al portal de Azure y en esta ocasión vamos a crear un recurso Storage account – blob, file, table, queue. Primero, lo buscamos de la lista:
  • 9. Una vez localizado, da clic en él y en la pantalla de descripción simplemente da clic en Create:
  • 10. En la sección de datos básicos, comienza ingresando la siguiente información: • Resource group: SmartSearchRG (selecciónalo de la lista) • Storage account name: storagetunombre (por ejemplo, storageluisbeltran) • Location: (South America) Brazil South • El resto de las propiedades se quedan igual • Da clic en Review + créate.
  • 11. Haz clic en Create en caso de que la validación de información sea exitosa.
  • 12. El recurso comenzará a provisionarse en Azure. Da clic en Go to resource si la operación también fue finalizada sin errores:
  • 13. Paso 3. Vamos a subir los archivos descargados en el paso anterior. Para ello, en la vista de tu cuenta de almacenamiento (storage), da clic en la sección Containers En la siguiente pantalla, agrega un nuevo contenedor dando clic en el botón + Container, coloca el nombre documents y da clic en Create.
  • 14. Podrás ver que se agregó el contenedor con éxito. Da clic en él para acceder a su contenido. El cual, por supuesto, está vacío. Da clic en el botón Upload. En la siguiente pantalla, da clic en el ícono de la carpeta
  • 15. Selecciona los 14 archivos descargados en el paso anterior y da clic en el botón Open/Add Ahora haz clic en el botón Upload:
  • 16. Y comenzará el proceso de subida de archivos:
  • 17. Cuando este proceso finalice, el contenedor documents tendrá la siguiente apariencia.
  • 18. Paso 4. Es hora de generar nuestro proceso de búsqueda inteligente. Regresa al recurso smartsearchtunombre creado en el paso 1 y da clic en Import data. En la sección Connect to your data, ingresa la siguiente información: • Data Source: selecciona Azure Blob Storage • Data source name: Ingresa storagetunombre (lo definiste en el paso 2) • Data to extract: Content and metadata • Connection string: Da clic en el botón Choose an existing connection
  • 19. Selecciona tu cuenta de almacenamiento creada en el paso 2 (la misma que acabas de escribir en Data source name): Se te solicitará seleccionar un contenedor donde están los archivos. Elige documents y confirma haciendo clic en Select
  • 20. Una vez obtenida la cadena de conexión a tu cuenta de almacenamiento y contenedor, da clic en Next: Add cognitive skills (Optional).
  • 21. En la sección Add cognitive skills (Optional), expande la pestaña Attach Cognitive Services y asegúrate de que está seleccionada la opción Free
  • 22. Ahora expande la pestaña Add enrichments, coloca el nombre azureblob-skillset al skillset y selecciona las siguientes opciones: • Enable OCR and merge all text into merged content field • Pages (5000 characters chunks) en Enrichment granularity level • Bajo Text Cognitive Skills, activa Extract people, organization y location names. • Bajo Image Cognitive Skills, activa Generate tags y captions from images. Y da clic en Next: Customize target index
  • 23. En la siguiente pantalla, realiza los siguientes cambios: • Desactiva el checkbox en la columna Retrievable del campo content. • Activa el checkbox en la columna Retrievable del campo metadata_storage_name • Activa (aunque ya deberían venir por defecto) los siguientes campos en la columna Retrievable: people, organizations, locations, merged_content, text, layoutText, imageTags e imageCaption. Da clic en Next: Create an indexer una vez realizado lo anterior:
  • 24. Ya para finalizar, coloca el nombre azureblob-indexer a tu indexador y en la calendarización selecciona Once (solo se generará una vez el índice, justo ahora). Da clic en Submit. Comenzará el proceso de generación del indexador. Si regresas a la sección Overview de tu servicio Search y seleccionas Indexers, observarás que hay una tarea en proceso:
  • 25. Después de unos segundos, actualiza la vista con el botón Refresh y observarás que los 14 documentos han sido procesados. Si el status aparece en Warning, no te preocupes, se ha completado con éxito, aunque es importante revisarlo y entender las advertencias, a fin de mejorar nuestro buscador.
  • 26. Paso 5. Vamos a probar nuestro buscador. Para ello, da clic en el botón Search explorer:
  • 27. En la sección Query string escribe la siguiente cadena de búsqueda: $select=people,organizations,locations,imageTags,metadata_storage_name&search=satya Da clic en el botón Search y observa que se devuelven dos resultados (documentos). Cada uno a su vez contiene información extraída del documento original (cuyo nombre también se incluye en los resultados), tal como los nombres de las personas identificadas, los nombres de empresas u organizaciones, ciudades e información descriptiva de la imagen, etc. El primer documento es un archivo de texto:
  • 28. Mientras que el segundo documento que incluye el término de búsqueda es una imagen:
  • 29. Paso 6. A fin de integrar este servicio de búsqueda en tus proyectos, necesitas incluir lo siguiente en tu petición HTTP: • Agregar una cabecera llamada api-key, cuyo valor es la llave principal que obtuviste al visitar la sección Keys de tu recurso Search. • Realizar una petición de tipo GET a la Request URL que aparece el paso 5 después de dar clic en Search al incluir la query string. Observa que la URL incluye la query string, por lo que puedes reemplazar los campos del $select (la información que quieres que el servicio devuelva en los resultados) y el valor del parámetro search (el término de búsqueda).