39
Aplicando Azure Search en sistemas híbridos Jose Redondo Microsoft Data Platform MVP Latam

Aplicando Azure Search en Sistemas Hibridos

Embed Size (px)

Citation preview

Page 1: Aplicando Azure Search en Sistemas Hibridos

Aplicando Azure Search en sistemas híbridos

Jose RedondoMicrosoft Data Platform MVP Latam

Page 2: Aplicando Azure Search en Sistemas Hibridos

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

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

IntroPorque buscar es importante

Page 5: Aplicando Azure Search en Sistemas Hibridos

Intro

La era Altavista / Netscape, :-/

Page 6: Aplicando Azure Search en Sistemas Hibridos

Intro

La era Google / Bing, !!!

Page 7: Aplicando Azure Search en Sistemas Hibridos

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

Estructura

ServiciosÍndice

Indexar datosBuscar datos

Optimizar resultados

Page 9: Aplicando Azure Search en Sistemas Hibridos

EstructuraArquitectura

Page 10: Aplicando Azure Search en Sistemas Hibridos

EstructuraProceso

Page 11: Aplicando Azure Search en Sistemas Hibridos

EstructuraProceso

Page 12: Aplicando Azure Search en Sistemas Hibridos

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

Comercio electrónico

Page 14: Aplicando Azure Search en Sistemas Hibridos

Redes sociales

Page 15: Aplicando Azure Search en Sistemas Hibridos

Aplicaciones empresariales

Page 16: Aplicando Azure Search en Sistemas Hibridos

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

ServiciosCreación

Page 18: Aplicando Azure Search en Sistemas Hibridos

ServiciosCreación

Page 19: Aplicando Azure Search en Sistemas Hibridos

ServiciosCreación

Page 20: Aplicando Azure Search en Sistemas Hibridos

Í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

Índices

Azure SQL Database

Document DB

Blob Storage

Page 22: Aplicando Azure Search en Sistemas Hibridos

Í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

Í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

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

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

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

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

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

Demo

Page 30: Aplicando Azure Search en Sistemas Hibridos

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

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

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

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

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

Demo

Page 36: Aplicando Azure Search en Sistemas Hibridos

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

Preguntas & Respuestas

Page 38: Aplicando Azure Search en Sistemas Hibridos

Recursos

• Azure Search• MSDN• Channel 9

Page 39: Aplicando Azure Search en Sistemas Hibridos

Gracias por su asistenciaAzure Search