Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Aplicando Azure Search en Sistemas Hibridos

187 views

Published on

Esta presentación es la introducción al mundo real de las búsquedas en Azure Search. Para comprender como construir un buen funcionamiento de búsqueda de un sitio web no es sencillo, ya que para lograr este objetivo se necesita planificación de índices de búsqueda, análisis de solución técnica y buen conocimiento sobre cómo los usuarios interactúan con la búsqueda. Azure Search es un servicio de búsqueda que permite buscar en los sitios web y otros sistemas independientemente donde se encuentre si en la misma plataforma Azure o en plataformas On-Premise, permitiendo consumir resultados de busquedas con el fin de ampliar el espectro de conocimiento de un escenario a tratar. Las demostraciones que mostrare como ejemplo se basan en un sencillo sitio web para husmear profundamente con Azure Search a la búsqueda de Azure y mostrar ampliamente cómo construir soluciones de búsqueda escalable y de gran alcance sobre el mismo.

Published in: Data & Analytics
  • Be the first to comment

  • Be the first to like this

Aplicando Azure Search en Sistemas Hibridos

  1. 1. Aplicando Azure Search en sistemas híbridos Jose Redondo Microsoft Data Platform MVP Latam
  2. 2. Quien soy? Jose Redondo Data 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: @redondoj LinkedIn: linkedin.com/in/redondoj Blog: redondoj.wordpress.com E-Mail: redondoj@gmail.com
  3. 3. Agenda • Intro • Estructura • Escenarios de uso • Servicios • Índices • Indexar datos DEMO • Buscar datos • Optimizar resultados DEMO • Conclusiones
  4. 4. Intro Porque buscar es importante
  5. 5. Intro La era Altavista / Netscape, :-/
  6. 6. Intro La era Google / Bing, !!!
  7. 7. 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.
  8. 8. Estructura Servicios Índice Indexar datos Buscar datos Optimizar resultados
  9. 9. Estructura Arquitectura
  10. 10. Estructura Proceso
  11. 11. Estructura Proceso
  12. 12. Escenarios de uso Apps con contenidos habilitados para generar búsquedas eficientes contrarias a navegar: • Comercio electrónico • Redes sociales • Aplicaciones empresariales
  13. 13. Comercio electrónico
  14. 14. Redes sociales
  15. 15. Aplicaciones empresariales
  16. 16. 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
  17. 17. Servicios Creación
  18. 18. Servicios Creación
  19. 19. Servicios Creación
  20. 20. Índices Que 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
  21. 21. Índices
  22. 22. Índices Arquitectura (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
  23. 23. Índices Creación POST /indexes/myindex?api-version=2016-08-26 Host: myapp.search.windows.net api-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": [ "*" ] } }
  24. 24. Indexar datos • Datos indexados por lotes • Operaciones de hasta 1000: • Carga (Upload), Combinaciones (Merge), Eliminaciones (Delete), o MergeOrUpload • POST para • …/indexes/myindex/docs/index
  25. 25. 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
  26. 26. 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
  27. 27. API – Carga de lotes POST /indexes/myindex/docs/index?api-version=2016-08-26 Host: myapp.search.windows.net api-key: [XYZ009] Content-Type: application/json { "value": [ { "@search.action": "upload", "STR_IDPlaza": “0123456789", "STR_Nombre": “EntornoDB LLC...", "STR_Tipo": “Consulting Firm", ... }, ... ] }
  28. 28. Criterios de indexación Push • .NET SDK • REST API Pull • Azure SQL Database • SQL Server hosted in Azure Virtual Machine (VM) • DocumentDB • Blob Storage
  29. 29. Demo
  30. 30. 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
  31. 31. 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
  32. 32. 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
  33. 33. Sugerencias de Búsqueda • Building block para completar automáticamente • Delicado equilibrio de la velocidad y características • Sugerencias provienen de datos de documentos
  34. 34. 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
  35. 35. Demo
  36. 36. 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
  37. 37. Preguntas & Respuestas
  38. 38. Recursos • Azure Search • MSDN • Channel 9
  39. 39. Gracias por su asistencia Azure Search

×