Aplicando Azure Search en Sistemas Hibridos
-
Upload
jose-redondo -
Category
Data & Analytics
-
view
101 -
download
1
Transcript of Aplicando Azure Search en Sistemas Hibridos
![Page 1: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/1.jpg)
Aplicando Azure Search en sistemas híbridos
Jose RedondoMicrosoft Data Platform MVP Latam
![Page 2: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/2.jpg)
Quien soy?
Jose RedondoData Platform MVP Latam | Arquitecto de datos | Experto en soluciones de Inteligencia de Negocio y Bodegas de datos | Consultor | Conferencista Microsoft en Latinoamérica y USA
Amante del compartir el conocimiento tecnológico y la buena cultura
Twitter: @redondojLinkedIn: linkedin.com/in/redondojBlog: redondoj.wordpress.comE-Mail: [email protected]
![Page 3: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/3.jpg)
Agenda• Intro• Estructura• Escenarios de uso• Servicios• Índices• Indexar datos
DEMO• Buscar datos• Optimizar resultados
DEMO• Conclusiones
![Page 4: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/4.jpg)
IntroPorque buscar es importante
![Page 5: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/5.jpg)
Intro
La era Altavista / Netscape, :-/
![Page 6: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/6.jpg)
Intro
La era Google / Bing, !!!
![Page 7: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/7.jpg)
Intro• Definición
Una solución de búsqueda como un servicio (SaaS) permitiendo a los desarrolladores incorporar
experiencias de gran búsqueda en aplicaciones sin gestión de infraestructura o necesidad de ser
expertos en búsqueda.
Búsqueda como u
n
Servicio (S
aaS)
Palabras claves
Sugerencias
Geo-Espacial
Ranking personalizado
56 lenguajes soportados
![Page 8: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/8.jpg)
Estructura
ServiciosÍndice
Indexar datosBuscar datos
Optimizar resultados
![Page 9: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/9.jpg)
EstructuraArquitectura
![Page 10: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/10.jpg)
EstructuraProceso
![Page 11: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/11.jpg)
EstructuraProceso
![Page 12: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/12.jpg)
Escenarios de usoApps con contenidos habilitados para generar búsquedas eficientes contrarias a navegar:• Comercio electrónico• Redes sociales• Aplicaciones empresariales
![Page 13: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/13.jpg)
Comercio electrónico
![Page 14: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/14.jpg)
Redes sociales
![Page 15: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/15.jpg)
Aplicaciones empresariales
![Page 16: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/16.jpg)
Búsqueda como servicio es:• Ámbito de capacidad.
Cobro. Autenticación• Administrado a través
del Portal o la API de gestión• Puede tener uno o más
índices• Nombre del servicio ->
API root URL https://myapp.search.windows.net
Servicios
![Page 17: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/17.jpg)
ServiciosCreación
![Page 18: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/18.jpg)
ServiciosCreación
![Page 19: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/19.jpg)
ServiciosCreación
![Page 20: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/20.jpg)
ÍndicesQue son?
• Una colección de documentos• Tiene un esquema (Schema)• Tiene varias opciones.
• Scoring Profile, CORS• Estructura de nombramiento:
• Nombre de índice -> API URL https://myapp.search.windows.net/indexes/myindex
![Page 21: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/21.jpg)
Índices
Azure SQL Database
Document DB
Blob Storage
![Page 22: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/22.jpg)
ÍndicesArquitectura (Schema)
Lista de campos y sus propiedades (Configuraciones):• Tipo de datos: STRING, INT, DOUBLE, DATATIME, BOOLEAN, GEO-POINT• Valores simple o Colecciones
Cada campo puede ser usado para:• Búsquedas • Sugerencias• Filtros
• Ordenamiento• Dimensionamiento
(Facetas)• Resultados
![Page 23: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/23.jpg)
ÍndicesCreación
POST /indexes/myindex?api-version=2016-08-26Host: myapp.search.windows.netapi-key: [XYZ009]Content-Type: application/json
{ "fields": [ {"name": “STR_IDPlaza","type": "Edm.String", "key": true}, {"name": “STR_Nombre", "type": "Edm.String"}, {"name": “STR_Tipo", "type": "Edm.String" } ], "corsOptions": { "allowedOrigins": [ "*" ] }}
![Page 24: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/24.jpg)
Indexar datos
• Datos indexados por lotes• Operaciones de hasta 1000:
• Carga (Upload), Combinaciones (Merge), Eliminaciones (Delete), o MergeOrUpload
• POST para• …/indexes/myindex/docs/index
![Page 25: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/25.jpg)
Indexar datos
• Una respuesta de éxito asegura Durabilidad / Estabilidad• Las necesidades del cliente para comprobar el cuerpo de la
respuesta para el estado de operaciones individuales
![Page 26: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/26.jpg)
Indexar datos
• Los datos se podrá buscar unos segundos más tarde• Los datos deben ser indexados, dependiendo de lo cargado
que se encuentre en sistema
![Page 27: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/27.jpg)
API – Carga de lotesPOST /indexes/myindex/docs/index?api-version=2016-08-26Host: myapp.search.windows.netapi-key: [XYZ009]Content-Type: application/json
{ "value": [ { "@search.action": "upload", "STR_IDPlaza": “0123456789", "STR_Nombre": “EntornoDB LLC...", "STR_Tipo": “Consulting Firm", ... }, ... ]}
![Page 28: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/28.jpg)
Criterios de indexaciónPush
• .NET SDK• REST API
Pull• Azure SQL Database• SQL Server hosted in Azure
Virtual Machine (VM)• DocumentDB• Blob Storage
![Page 29: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/29.jpg)
Demo
![Page 30: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/30.jpg)
Buscar datos• Ámbito de búsqueda es un índice• El API de búsqueda ofrece una
serie de opciones• Búsqueda de texto completo
incluyendo operadores fácil de usar• Soporte en Query: Filtros estrictos,
Ordenación, Paginación y Selección de campo
• Faceting• Hit highlighting
• Los resultados incluyen scores de los campos más solicitados
![Page 31: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/31.jpg)
API: Search (Búsqueda)
• Búsqueda simple:• …/docs/search=La búsqueda que todos
deseamos tener en un momento dado.• Búsqueda con filtraje estricto:
• …/docs?search=BI&$filter=STR_Tipo eq ‘Consulting Firm'
• Búsqueda con Ordenación, Paginación y Selección de campo:• …/docs?search=BI&$orderby=STR_Nombre
asc&$top=5&$select=STR_Nombre• Faceting:
• …/docs?search=BI&facet=STR_Tipo• Hit highlighting:
• …/docs?search=BI&highlight=HH_STR_Nombre
![Page 32: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/32.jpg)
Búsqueda Geo-Espacial
• Búsqueda en documentos en determinado km de distancia de mi lugar
• Ordenar los resultados por la distancia de mi ubicación• Buscar los documentos dentro de un polígono dado
![Page 33: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/33.jpg)
Sugerencias de Búsqueda
• Building block para completar automáticamente• Delicado equilibrio de la
velocidad y características• Sugerencias provienen
de datos de documentos
![Page 34: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/34.jpg)
Optimizar resultados• Por defecto: Ranking basado
en la relevancia del texto• Anotando los resultados
obtenidos de los perfiles para las puntuaciones de optimización• Valores de los campos:
Importancia relativa• Funciones de ranking: Describen
lo que realmente te importa• Uno o más perfiles de ranking
para diferentes escenarios
![Page 35: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/35.jpg)
Demo
![Page 36: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/36.jpg)
Conclusiones• Establecer los servicios a
utilizar• Generar y optimizar los índices
con la finalidad de establecer una navegación efectiva a través de lo que se busque• Establecer las tecnologías a
implementar independientemente de la plataforma donde desarrollemos nuestras aplicaciones
![Page 37: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/37.jpg)
Preguntas & Respuestas
![Page 38: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/38.jpg)
Recursos
• Azure Search• MSDN• Channel 9
![Page 39: Aplicando Azure Search en Sistemas Hibridos](https://reader036.fdocuments.ec/reader036/viewer/2022081513/587542991a28abb8208b54e9/html5/thumbnails/39.jpg)
Gracias por su asistenciaAzure Search