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.
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. Agenda
• Intro
• Estructura
• Escenarios de uso
• Servicios
• Índices
• Indexar datos
DEMO
• Buscar datos
• Optimizar resultados
DEMO
• Conclusiones
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.
12. Escenarios de uso
Apps con contenidos habilitados para generar búsquedas eficientes
contrarias a navegar:
• Comercio electrónico
• Redes sociales
• Aplicaciones empresariales
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
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
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
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. 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. 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
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. 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. 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. 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. 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
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