¿Qué es Azure Cognitive Search?

Azure Cognitive Search (anteriormente conocido como "Azure Search") es un servicio de búsqueda en la nube que proporciona a los desarrolladores la infraestructura, las API y herramientas necesarias para crear una experiencia de búsqueda de datos enriquecida en un contenido privado y heterogéneo en las aplicaciones web, para aplicaciones móviles y empresariales.

La búsqueda es fundamental para cualquier aplicación que muestre contenido de texto a los usuarios, ya que cuenta con escenarios comunes que incluyen la búsqueda de catálogos o documentos, aplicaciones de venta minorista en línea o la exploración de datos en el contenido de su propiedad. Al crear un servicio de búsqueda, trabajará con las siguientes funcionalidades:

  • Un motor de búsqueda para la búsqueda de texto completo en un índice de búsqueda que incluye el contenido propiedad del usuario
  • Indexación enriquecida, con análisis de texto y enriquecimiento de IA opcional para la extracción y transformación de contenido
  • Sintaxis de consulta enriquecida para la búsqueda de texto, búsqueda aproximada, autocompletar, búsqueda geográfica y mucho más
  • Programación a través de las API REST y las bibliotecas cliente en los SDK de Azure
  • Integración de Azure en la capa de datos, la capa de aprendizaje automático y la IA (Cognitive Services)

En cuanto a la arquitectura, un servicio de búsqueda se coloca entre los almacenes de datos externos que contienen los datos no indexados y su aplicación cliente que envía solicitudes de consulta a un índice de búsqueda y controla la respuesta.

Arquitectura de Azure Cognitive Search

En la aplicación cliente, la experiencia de búsqueda se define mediante las API de Azure Cognitive Search y puede incluir las funciones de ajuste de relevancia, autocompletar, coincidencia de sinónimos, coincidencia aproximada, coincidencia de patrones, filtro y ordenación.

En toda la plataforma Azure, Cognitive Search puede integrarse con otros servicios de Azure en forma de indexadores que automatizan la ingestión y recuperación de datos de los orígenes de datos de Azure, y conjuntos de aptitudes que incorporan inteligencia artificial consumible de Cognitive Services, como el análisis de imágenes y lenguaje natural, o la inteligencia artificial personalizada que se crea en Azure Machine Learning o que se encapsula en Azure Functions.

Dentro de un servicio de búsqueda

En el servicio de búsqueda en sí, las dos cargas de trabajo principales son la indexación y la realización de consultas.

  • La indexación es un proceso de admisión que carga contenido en un servicio de búsqueda y permite que se puedan realizar búsquedas en el mismo. Internamente, el texto de entrada se procesa en tokens y se almacena en índices invertidos, con el fin de agilizar los exámenes. Puede cargar documentos JSON o usar un indexador para serializar los datos en JSON.

    El enriquecimiento con inteligencia artificial mediante aptitudes cognitivas es una extensión de la indexación. Si el contenido necesita que se realice un análisis de las imágenes o del lenguaje antes de poder indexarlo, el enriquecimiento con IA puede extraer texto incrustado en los archivos de aplicación, traducir texto e inferir tanto texto como estructuras de archivos que no son de texto mediante el análisis del contenido.

  • La realización de consultas se puede producir una vez que un índice se rellena con texto en el que se pueden realizar búsquedas, cuando la aplicación cliente envía solicitudes de consulta a un servicio de búsqueda y controla las respuestas. La ejecución de todas las consultas se determina por un índice de búsqueda que usted mismo controla.

    Búsqueda semántica es una extensión de la ejecución de consultas. Agrega reconocimiento del lenguaje al procesamiento de resultados de búsqueda, lo que promueve los resultados más semánticamente relevantes a la parte superior.

Azure Cognitive Search es adecuado en los siguientes escenarios de aplicación:

  • Consolidación de contenido heterogéneo en un índice de búsqueda privado definido por el usuario.

  • Descarga de cargas de trabajo de indexación y consulta en un servicio de búsqueda dedicado.

  • Implementación con facilidad de características relacionadas con la búsqueda: ajuste de relevancia, navegación por facetas, filtros (incluida la búsqueda espacial geográfica), asignación de sinónimos y Autocompletar.

  • Transformación de grandes archivos de imagen o texto no diferenciados, o archivos de aplicación almacenados en Azure Blob Storage o Azure Cosmos DB, en fragmentos indexados. Esto se logra durante la indexación mediante aptitudes cognitivas que agregan procesamiento externo.

  • Adición de análisis de texto lingüístico o personalizado. Si tiene contenido que no está en inglés, Azure Cognitive Search admite tanto los analizadores de Lucene como los procesadores de lenguaje natural de Microsoft. También puede configurar los analizadores para obtener un procesamiento especializado de contenido sin procesar, como el filtrado de los caracteres diacríticos o el reconocimiento y la preservación de patrones en las cadenas.

Para más información sobre la funcionalidad específica, consulte Características de Azure Cognitive Search

Primeros pasos

La funcionalidad se expone a través de Azure Portal, API de REST o de los SDK de Azure, como SDK de Azure para .NET. Azure Portal admite para la administración de servicios y de contenido, con herramientas para la creación de prototipos y la consulta de índices y conjuntos de aptitudes.

Una exploración integral de las características principales de la búsqueda se puede lograr en cuatro pasos:

  1. Decida el nivel y la región. Se permite solo un servicio Search gratuito por suscripción. Todos los inicios rápidos se pueden realizar en el nivel gratis. Para lograr más capacidad y funcionalidades, necesitará un nivel facturable.

  2. Cree un servicio Search en Azure Portal.

  3. Inicie el Asistente para importación de datos. Elija un ejemplo integrado o un origen de datos compatible para crear, cargar y consultar un índice en cuestión de minutos.

  4. Termine con el explorador de Search, mediante un cliente del portal para consultar el índice de búsqueda que acaba de crear.

Como alternativa, puede crear, cargar y consultar un índice de búsqueda en pasos atómicos:

  1. Cree un índice de búsqueda con el portal, la API REST, el SDK para .NET u otro SDK. El esquema de índices define la estructura del contenido en el que se pueden realizar búsquedas.

  2. Cargue contenido mediante el modelo de "inserción" para insertar documentos JSON desde cualquier origen o use el modelo de "extracción" (indexadores) si los datos de origen son de un tipo compatible.

  3. Consulte un índice mediante el Explorador de búsqueda en el portal, API REST, SDK de .NET u otro SDK.

Sugerencia

Para obtener ayuda con soluciones complejas o personalizadas, póngase en contacto con un asociado con conocimientos profundos en la tecnología de Cognitive Search.

Comparar opciones de búsqueda

Los clientes a menudo preguntan cuáles son las diferencias de Azure Cognitive Search con respecto a otras soluciones relacionadas de búsqueda. En la tabla siguiente se resumen las principales diferencias.

En comparación con Principales diferencias
Búsqueda de Microsoft Microsoft Search es para los usuarios autenticados de Microsoft 365 que necesitan realizar consultas en el contenido de SharePoint. Se ofrece como una experiencia de búsqueda lista para usar, habilitada y configurada por los administradores, y con capacidad para aceptar contenido externo a través de conectores tanto de Microsoft como de otros orígenes. Si esto describe su escenario, Microsoft Search con Microsoft 365 es una opción atractiva para explorar.

Por su parte, Azure Cognitive Search ejecuta consultas en un índice que el usuario define y que está completado con datos y documentos de su propiedad, a menudo procedentes de diversas fuentes. Azure Cognitive Search tiene funcionalidades de rastreo para algunos orígenes de datos de Azure a través de indexadores, pero puede insertar cualquier documento JSON que se ajuste a su esquema de índice en un recurso sencillo y consolidado en el que se puedan realizar búsquedas. También se puede personalizar la canalización de indexación para incluir el aprendizaje automático y los analizadores léxicos. Como Cognitive Search se crea para ser un componente de complemento en soluciones mayores, la búsqueda se puede integrar en casi cualquier aplicación de cualquier plataforma.
Bing Bing Web Search API busca en los índices de Bing.com aquellos términos que coincidan con lo que envía. Los índices se compilan a partir de HTML, XML y otro tipo de contenido web en sitios públicos. Bing Custom Search tiene los mismos cimientos y ofrece la misma tecnología de rastreador (crawler) para tipos de contenido web y cuyo destino son los sitios web individuales.

En Cognitive Search, puede definir y rellenar el índice. Puede usar indexadores para rastrear datos en los orígenes de datos de Azure o enviar cualquier documento JSON que cumpla el índice al servicio de búsqueda.
Búsqueda de bases de datos Muchas plataformas de base de datos incluyen una experiencia de búsqueda integrada. SQL Server tiene búsqueda de texto completo. Azure Cosmos DB y otras tecnologías similares tienen índices que se pueden consultar. Al evaluar productos que combinan búsqueda y almacenamiento, la elección puede ser complicada. Muchas soluciones usan: DBMS para el almacenamiento y Azure Cognitive Search para las características de búsqueda especializadas.

En comparación con la búsqueda de DBMS, Azure Cognitive Search almacena contenido de orígenes heterogéneos y ofrece características de procesamiento de texto especializadas como el procesamiento de texto en función del idioma (lematización o formas de las palabras) en 56 idiomas. También admite la autocorrección de palabras mal escritas, sinónimos, sugerencias, controles de puntuación, facetas y tokenización personalizada. El motor de búsqueda de texto completo en Azure Cognitive Search está compilado en Apache Lucene, un estándar del sector en cuanto a recuperación de información. Sin embargo, aunque Azure Cognitive Search conserva los datos en forma de índice invertido, no sustituye a un verdadero almacenamiento de datos y no es aconsejable usarlo en esa capacidad. Para más información, consulte esta entrada del foro.

El uso de recursos es otro punto de inflexión en esta categoría. Tanto la indexación como algunas operaciones conllevan a menudo muchos cálculos. La descarga de la búsqueda desde DBMS en una solución dedicada en la nube conserva los recursos del sistema para el procesamiento de transacciones. Además, mediante la externalización de la búsqueda se puede ajustar fácilmente la escala para que se adapte al volumen de consultas.
Solución de búsqueda dedicada Suponiendo que se haya decidido por una búsqueda dedicada con la funcionalidad de todo el espectro, al final se realiza una comparación de categorías entre en soluciones locales y un servicio en la nube. Muchas tecnologías de búsqueda ofrecen control sobre la indexación y las canalizaciones de consultas, acceso a una sintaxis de filtrado y consultas más completa, control sobre la clasificación y la relevancia, y características para la búsqueda inteligente y autodirigida.

Un servicio en la nube es la opción adecuada si desea una solución llave en mano con costos generales y un mantenimiento mínimos, y una escala ajustable.

Dentro del paradigma de la nube, varios proveedores ofrecen características de línea base similares, con búsqueda de texto completo, búsqueda geoespacial y capacidad de controlar cierto nivel de ambigüedad en entradas de búsqueda. Normalmente, es una característica especializada o la facilidad y sencillez general de las API, las herramientas y la administración, lo que determina la solución que mejor se ajusta a nuestras necesidades.

Entre los proveedores de servicios en la nube, Azure Cognitive Search es el más potente para cargas de trabajo de búsqueda de texto completo en almacenes de contenido y bases de datos de Azure, y para aplicaciones que se basan principalmente en la búsqueda para navegar por el contenido y recuperar información.

Las principales ventajas incluyen:

  • Integración de datos (rastreadores o crawlers) en el nivel de indexación.
  • Integración de la inteligencia artificial y el aprendizaje automático con Azure Cognitive Services, lo que resulta útil si necesita hacer que en el contenido en el que no se pueden realizar búsquedas, se realicen búsquedas de texto completo.
  • Integración de seguridad con Azure Active Directory para conexiones de confianza y con Azure Private Link para admitir conexiones privadas con un índice de búsqueda en escenarios sin Internet.
  • Análisis lingüístico y de texto personalizado en 56 idiomas.
  • Experiencia de búsqueda completa: lenguaje de consulta enriquecido, ajuste de relevancia y clasificación semántica, aplicación de facetas, consultas de estructura anticipada y sugerencias, y sinónimos.
  • Escalado, confiabilidad y disponibilidad internacional de Azure.

Entre nuestros clientes, los que aplican la gama más amplia de características de Azure Cognitive Search pueden usar catálogos en línea, programas de línea de negocio y aplicaciones de detección de documentos.