Recopilación de datos de telemetría para análisis del tráfico de búsqueda

El análisis del tráfico de búsqueda es un patrón para recopilar datos de telemetría sobre las interacciones de los usuarios con su aplicación de Azure AI Search, como eventos de clic y entradas de teclado iniciados por el usuario. Con esta información, puede determinar la eficacia de la solución de búsqueda, incluidos los términos de búsqueda más populares, la tasa de clics y las entradas de consulta que producen cero resultados.

Este patrón depende de Application Insights (una característica de Azure monitor) para recopilar datos de usuario. Requiere que agregue la instrumentación a su código de cliente, tal como se describe en este artículo. Por último, necesita un mecanismo de informes para analizar los datos. Se recomienda Power BI, pero puede utilizar el panel de la aplicación o cualquier herramienta que se conecte a Application Insights.

Nota:

El patrón que se describe en este artículo es para escenarios avanzados y datos de la secuencia de clics generados por el código que agrega al cliente. Por el contrario, los registros de servicio son fáciles de configurar, proporcionan una gama de métricas y se pueden realizar en el portal sin necesidad de código. Se recomienda habilitar el registro para todos los escenarios. Para obtener más información, consulte Recopilación y análisis de datos de registro.

Identificación de los datos de búsqueda pertinentes

Para contar con métricas útiles para el análisis del tráfico de búsqueda, es necesario registrar algunas de las señales de los usuarios de la aplicación de búsqueda. Estas señales indican el contenido en el que los usuarios están interesados y que consideran relevantes. Para el análisis del tráfico de búsqueda, se incluyen:

  • Eventos de búsqueda generados por el usuario: solo son interesantes las consultas de búsqueda iniciadas por un usuario. Otras solicitudes de búsqueda, como las que se usan para rellenar facetas o recuperar información interna, no son importantes. Asegúrese de instrumentar solo eventos iniciados por el usuario para evitar la distorsión o el sesgo en los resultados.

  • Eventos de clic generados por el usuario: en una página de resultados de la búsqueda, un evento de clic habitualmente significa que un documento es un resultado pertinente para una consulta de búsqueda específica.

Al vincular eventos de búsqueda y clic con un identificador de correlación, puede comprender mejor el rendimiento de la funcionalidad de búsqueda de la aplicación.

Incorporación de los análisis del tráfico de búsqueda

En la página del portal del servicio Azure AI Search, abra la página de análisis de tráfico de búsqueda para acceder a una hoja de referencia con la que podrá seguir este patrón de telemetría. Desde esta página, puede seleccionar o crear un recurso de Application Insights, obtener la clave de instrumentación, copiar fragmentos de código que se puedan adaptar a la solución y descargar un informe de Power BI que se base en el esquema que se refleja en el patrón.

Captura de pantalla del comando y la página del portal para configurar Application Insights.

Paso 1: Configuración de Application Insights

Seleccione un recurso existente de Application Insights o cree uno si aún no lo tiene.

En los pasos siguientes se refleja un acceso directo que funciona en algunos tipos de proyecto de Visual Studio.

Por ejemplo, estos pasos usan el cliente de Agregar búsqueda a una aplicación web estática.

  1. Abra su solución en Visual Studio.

  2. En el menú Proyecto, seleccione Servicios conectados>Agregar>Azure Application Insights.

  3. En Conectarse a dependencias, seleccione Azure Application Insights, y después, seleccione Siguiente.

  4. Seleccione la suscripción de Azure, el recurso de Application Insights y después, seleccione Finalizar.

En este momento, la aplicación está configurada para la supervisión de aplicaciones, lo que significa que se realiza un seguimiento de todas las cargas de página de la aplicación cliente con métricas predeterminadas.

Si este acceso directo no funciona, vea Habilitación de la telemetría del lado servidor de Application Insights.

Paso 2: Agregar instrumentación

Agregue código de instrumentación a la aplicación cliente. La página Análisis de tráfico de búsqueda de Azure Portal proporciona fragmentos de código que puede pegar en el código de la aplicación.

Creación de un cliente de telemetría

Cree un objeto que envíe eventos a Application Insights. Puede agregar instrumentación al código de aplicación del lado servidor o al código del lado cliente que se ejecuta en un explorador, expresado aquí como variantes de C# y JavaScript. Para otros lenguajes, vea plataformas y marcos admitidos.

La telemetría del lado servidor captura las métricas en el nivel de aplicación, por ejemplo, en las aplicaciones que se ejecutan como un servicio web en Azure o como una aplicación local en una red corporativa. Los datos de telemetría del lado servidor capturan los eventos de búsqueda y de clics, la posición de un documento en los resultados y la información de consulta, pero el ámbito de la colección de datos se limitará a la información que haya disponible en esa capa.

En el cliente, es posible que tenga otro código que manipule las entradas de consulta, agregue navegación o incluya contexto (por ejemplo, consultas iniciadas desde una página principal frente a una página de producto). Si describe la solución, puede optar por la instrumentación del lado cliente para que la telemetría refleje los detalles adicionales. Cómo se recopilan estos detalles adicionales va más allá del ámbito de este patrón, pero puede revisar Application Insights para páginas web para obtener ayuda con esa decisión.

Puede obtener la clave de instrumentación de Azure Portal, ya sea en las páginas de Application Insights o en la página Análisis de tráfico de búsqueda de Azure AI Search.

// Application Insights SDK: https://www.nuget.org/packages/Microsoft.ApplicationInsights.Web 

var telemetryClient = new TelemetryClient();
telemetryClient.InstrumentationKey = "0000000000000000000000000000";

Eventos de búsqueda de registros

Cada vez que un usuario emite una solicitud de búsqueda, debe registrarla como un evento de búsqueda con el esquema siguiente en un evento personalizado de Application Insights. Recuerde registrar solo las consultas de búsqueda generadas por el usuario.

  • SearchServiceName: (cadena) nombre del servicio de búsqueda
  • SearchId: (guid) identificador único de la consulta de búsqueda (se incluye en la respuesta de la búsqueda)
  • IndexName: (cadena) índice del servicio de búsqueda que se va a consultar
  • QueryTerms: (cadena) términos de búsqueda especificados por el usuario
  • ResultCount: (int) número de documentos devueltos (se incluye en la respuesta de la búsqueda)
  • ScoringProfile: (cadena) nombre del perfil de puntuación usado, si existe

Nota:

Solicite el recuento de consultas generadas por el usuario agregando $count=true a la consulta de búsqueda. Para más información, consulte Búsqueda de documentos (REST).

var properties = new Dictionary <string, string> {
	{"SearchServiceName", <SEARCH SERVICE NAME>},
	{"SearchId", <SEARCH ID>},
	{"IndexName", <INDEX NAME>},
	{"QueryTerms", <SEARCH TERMS>},
	{"ResultCount", <RESULTS COUNT>},
	{"ScoringProfile", <SCORING PROFILE USED>}
};

telemetryClient.TrackEvent("Search", properties);

Registrar eventos de clic

Cada vez que un usuario hace clic en un documento, es una señal de que debe registrarse para fines de análisis de búsqueda. Utilice eventos personalizados de Application Insights para registrar estos eventos con el siguiente esquema:

  • ServiceName: (cadena) nombre del servicio de búsqueda
  • SearchId: (guid) identificador único de la consulta de búsqueda relacionada
  • DocId: (cadena) identificador del documento
  • Position: (int) clasificación del documento en la página de resultados de la búsqueda

Nota:

La posición hace referencia al orden cardinal en la aplicación. Puede establecer este número, siempre que en todo momento sea el mismo, para permitir la comparación.

var properties = new Dictionary <string, string> {
	{"SearchServiceName", <SEARCH SERVICE NAME>},
	{"SearchId", <SEARCH ID>},
	{"ClickedDocId", <CLICKED DOCUMENT ID>},
	{"Rank", <CLICKED DOCUMENT POSITION>}
};

telemetryClient.TrackEvent("Click", properties);

Paso 3: Análisis en Power BI

Una vez que haya instrumentado la aplicación y comprobado que esta se ha conectado correctamente a Application Insights, debe descargar una plantilla de informe predefinida para analizar los datos en Power BI Desktop. El informe contiene gráficos predefinidos y tablas útiles para analizar los datos adicionales capturados para el análisis del tráfico de búsqueda.

  1. En Azure Portal, en las páginas del servicio de búsqueda, en Configuración, seleccione Buscar análisis de tráfico.

  2. Seleccione Obtener Power BI Desktop para instalar Power BI.

  3. Seleccione Descargar informe de Power BI para obtener el informe.

  4. El informe se abre en Power BI Desktop y se le pedirá que se conecte a Application Insights y proporcione credenciales. Puede encontrar la información de conexión en las páginas de Azure Portal para el recurso de Application Insights. Para obtener las credenciales, proporcione el mismo nombre de usuario y la misma contraseña que usa para iniciar sesión en el portal.

    Captura de pantalla que muestra cómo conectarse a Application Insights desde Power BI.

  5. Seleccione Cargar.

El informe contiene gráficos y tablas que le ayudarán a tomar decisiones más informadas para mejorar la relevancia y el rendimiento de las búsquedas.

Las métricas incluyen los siguientes elementos:

  • Busque los pares de términos y documentos más populares: términos resultantes en el mismo documento en el que se hizo clic, ordenados por clics.
  • Búsquedas sin clics: términos de las consultas principales que no registran ningún clic

En la captura de pantalla siguiente se muestra el aspecto que podría tener un informe integrado si hubiese usado todos los elementos del esquema.

Captura de pantalla que muestra el informe integrado con todos los elementos de esquema disponibles.

Pasos siguientes

Instrumente la aplicación de búsqueda para obtener datos eficaces y reveladores sobre el servicio de búsqueda.

Puede encontrar más información en Application Insights y visitar la página de precios para conocer más sobre los distintos niveles de servicio.

Obtenga más información sobre la creación de informes. Consulte Introducción a Power BI Desktop para más información.