Sammeln von Telemetriedaten für „Datenverkehrsanalyse durchsuchen“

„Datenverkehrsanalyse durchsuchen“ ist ein Muster für das Sammeln von Telemetriedaten zu Benutzerinteraktionen mit ihrer Azure KI-Suche-Anwendung, z. B. vom Benutzer initiierte Klickereignisse und Tastatureingaben. Mithilfe dieser Informationen können Sie die Effektivität ihrer Suchlösung ermitteln, einschließlich beliebter Suchbegriffe, der Klickraten (CTR) und der Abfrageeingaben, die keine Ergebnisse zurückgeben.

Dieses Muster ist abhängig von Application Insights (einem Feature von Azure Monitor) zur Sammlung von Benutzerdaten. Es erfordert, dass Sie Ihrem Clientcode Instrumentierung hinzufügen, wie in diesem Artikel beschrieben wird. Abschließend benötigen Sie einen Berichtserstellungsmechanismus, um die Daten zu analysieren. Wir empfehlen Power BI, aber Sie können das Anwendungsdashboard oder ein beliebiges Tool verwenden, das eine Verbindung mit Application Insights herstellt.

Hinweis

Das in diesem Artikel beschriebene Muster gilt für erweiterte Szenarien und Clickstreamdaten, die von den Ihrem Client hinzugefügten Code generiert werden. Im Gegensatz dazu lassen sich Dienstprotokolle auf einfache Weise einrichten, bieten einen Bereich von Metriken und können im Portal ohne erforderlichen Code ausgeführt werden. Eine Aktivierung der Protokollierung wird für alle Szenarios empfohlen. Weitere Informationen finden Sie unter Collect and analyze log data (Sammeln und Analysieren von Protokolldaten).

Identifizieren von relevanten Suchdaten

Wenn Sie nützliche Metriken für „Datenverkehrsanalyse durchsuchen“ erhalten möchten, ist es erforderlich, einige Signale von den Benutzern Ihrer Suchanwendung zu protokollieren. Diese Signale kennzeichnen Inhalte, die Benutzer interessieren und die sie für relevant halten. Bei „Datenverkehrsanalyse durchsuchen“ umfassen sie Folgendes:

  • Vom Benutzer generierte Suchereignisse: Nur von einem Benutzer initiierte Suchabfragen sind interessant. Andere Suchanforderungen, z. B. die zum Auffüllen von Facetten oder zum Abrufen interner Informationen verwendeten, sind nicht von Bedeutung. Stellen Sie sicher, dass Sie nur vom Benutzer initiierte Ereignisse instrumentieren, um Schiefe oder Verzerrungen in Ihren Ergebnissen zu vermeiden.

  • Vom Benutzer generierte Klickereignisse: Auf einer Seite „Suchergebnisse“ bedeutet ein Klickereignis im Allgemeinen, dass ein Dokument ein relevantes Ergebnis für eine bestimmte Suchabfrage ist.

Durch das Verknüpfen von Such- und Klickereignissen mit einer Korrelations-ID können Sie besser verstehen, wie gut die Suchfunktion Ihrer Anwendung funktioniert.

Hinzufügen von „Datenverkehrsanalyse durchsuchen“

Öffnen Sie auf der Seite Portal für Ihren Azure KI-Suchdienst die Seite „Datenverkehrsanalyse durchsuchen“, um auf einen Spickzettel zuzugreifen, anhand dessen Sie diesem Telemetriemuster folgen können. Auf dieser Seite können Sie eine Application Insights-Ressource auswählen oder erstellen, den Instrumentierungsschlüssel abrufen, Ausschnitte kopieren, die Sie für Ihre Lösung anpassen können, und einen Power BI-Bericht herunterladen, der über dem im Muster wiedergegebenen Schema erstellt wurde.

Screenshot des Portalbefehls und der Seite zum Einrichten von Application Insights.

Schritt 1: Einrichten von Application Insights

Wählen Sie eine zu verwendende Application Insights-Ressource aus, oder erstellen Sie eine, wenn Sie noch keine besitzen.

Eine Verknüpfung, die bei einigen Visual Studio-Projekttypen funktioniert, wird in den folgenden Schritten gezeigt.

Zur Veranschaulichung verwenden Sie den Client aus Hinzufügen von Suchfunktionen zu statischen Web-Apps.

  1. Öffnen Sie Ihre Projektmappe in Visual Studio.

  2. Wählen Sie im Menü Project die Option Verbundene Dienste>Hinzufügen>Azure Application Insights aus.

  3. Wählen Sie unter „Mit Abhängigkeit verbinden“ Azure Application Insights aus, und wählen Sie dann Weiter aus.

  4. Wählen Sie Ihr Azure-Abonnement, Ihre Application Insights-Ressource und dann Beenden aus.

Jetzt ist Ihre Anwendung für die Anwendungsüberwachung eingerichtet. Dies bedeutet, dass alle Ladevorgänge der Seite in Ihrer Client-App mit Standardmetriken nachverfolgt werden.

Wenn diese Verknüpfung für Sie nicht funktioniert hat, lesen Sie Serverseitige Application Insights-Telemetrie aktivieren.

Schritt 2: Hinzufügen der Instrumentierung

Fügen Sie Ihrer Clientanwendung Instrumentierungscode hinzu. Die Seite „Datenverkehrsanalyse durchsuchen“ im Azure-Portal stellt Codeausschnitte bereit, die Sie in Ihren Anwendungscode einfügen können.

Erstellen eines Telemetrieclients

Erstellen Sie ein Objekt, das Ereignisse an Application Insights sendet. Sie können Ihrem serverseitigen Anwendungscode oder clientseitigen Code, der in einem Browser ausgeführt wird, Instrumentierung hinzufügen. Dieser Code wird hier in Form von C# -und JavaScript-Varianten dargestellt. Weitere Sprachen finden Sie unter Unterstützte Plattformen und Frameworks.

Die serverseitige Telemetrie erfasst Metriken auf Anwendungsebene, z. B. in Anwendungen, die als Webdienst in Azure ausgeführt werden, oder als lokale App in einem Unternehmensnetzwerk. Die serverseitige Telemetrie sammelt Such- und Klickereignisse, die Position eines Dokuments in Ergebnissen und Abfrageinformationen. Allerdings umfasst die Datensammlung nur die Informationen, die auf dieser Ebene verfügbar sind.

Auf dem Client haben Sie möglicherweise anderen Code, der Abfrageeingaben bearbeitet, Navigationselemente hinzufügt oder Kontext enthält (z. B. von einer Startseite initiierte Abfragen und eine Produktseite). Wenn damit Ihre Lösung beschrieben wird, könnten Sie sich für die clientseitige Instrumentierung entscheiden, sodass Ihre Telemetrie die zusätzlichen Details widerspiegelt. Wie diese zusätzlichen Details gesammelt werden, geht über den Rahmen dieses Musters hinaus; in Application Insights für Webseiten können Sie aber Hilfe bei dieser Entscheidung erhalten.

Sie können den Instrumentierungsschlüssel über das Azure-Portal abrufen, entweder auf den Seiten für Application Insights oder auf der Seite „Durchsuchen der Datenverkehrsanalyse“ für Azure KI-Suche.

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

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

Protokollieren von Suchereignissen

Jede Suchanforderung eines Benutzers sollten Sie in einem benutzerdefinierten Application Insights-Ereignis mit dem nachstehenden Schema als Suchereignis protokollieren. Denken Sie daran, nur benutzergenerierte Suchabfragen zu protokollieren.

  • SearchServiceName: (String) Suchdienstname
  • SearchId: (GUID) eindeutiger Bezeichner der Suchabfrage (in der Suchantwort enthalten)
  • IndexName: (String) abzufragender Suchdienstindex
  • QueryTerms: (String) vom Benutzer eingegebene Suchbegriffe
  • ResultCount: (Int) Anzahl der zurückgegebenen Dokumente (in der Suchantwort enthalten)
  • ScoringProfile: (String) Name des verwendeten Bewertungsprofils, falls vorhanden

Hinweis

Fordern Sie die Anzahl der vom Benutzer generierten Abfragen an, indem Sie Ihrer Suchabfrage „$count=true“ hinzufügen. Weitere Informationen finden Sie unter Durchsuchen von Dokumenten (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);

Protokollieren von Klickereignissen

Jedes Mal, wenn ein Benutzer auf ein Dokument klickt, ist dies ein Signal, dass für Suchanalysezwecke protokolliert werden muss. Verwenden Sie benutzerdefinierte Application Insights-Ereignisse, um diese Ereignisse mit dem folgenden Schema zu protokollieren:

  • ServiceName: (String) Suchdienstname
  • SearchId: (GUID) eindeutiger Bezeichner der zugehörigen Suchabfrage
  • DocId: (String) Dokumentbezeichner
  • Position: (Int) Rang des Dokuments auf der Seite „Suchergebnisse“

Hinweis

Die Position bezieht sich auf die Hauptreihenfolge in der Anwendung. Sie können diese Zahl frei festlegen, solange sie immer identisch ist, um den Vergleich zu ermöglichen.

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);

Schritt 3: Analysieren in Power BI

Nachdem Sie Ihre App instrumentiert und sichergestellt haben, dass die Anwendung ordnungsgemäß mit Application Insights verbunden ist, laden Sie eine vordefinierte Berichtsvorlage herunter, um Daten in Power BI Desktop zu analysieren. Der Bericht enthält vordefinierte Diagramme und Tabellen, die nützlich für die Analyse der zusätzlichen Daten sind, die für die Analyse des Suchdatenverkehrs erfasst wurden.

  1. Wählen Sie im Azure-Portal auf den Suchdienstseiten unter Einstellungen die Option Datenverkehrsanalyse durchsuchen aus.

  2. Wählen Sie Power BI Desktop abrufen, um Power BI zu installieren.

  3. Wählen Sie Power BI-Bericht herunterladen aus, um den Bericht abzurufen.

  4. Der Bericht wird in Power BI Desktop geöffnet, und Sie werden aufgefordert, eine Verbindung mit Application Insights herzustellen und Anmeldeinformationen anzugeben. Sie finden Verbindungsinformationen auf den Seiten des Microsoft Azure-Portals für Ihre Application Insights-Ressource. Geben Sie für Anmeldeinformationen denselben Benutzernamen und dasselbe Kennwort wie für die Anmeldung beim Portal an.

    Screenshot: Herstellen einer Verbindung mit Application Insights aus Power BI.

  5. Wählen Sie Laden aus.

Der Bericht enthält Diagramme und Tabellen, mit denen Sie fundiertere Entscheidungen treffen können, um Leistung und Relevanz der Suche zu verbessern.

Die Metriken umfassen die folgenden Elemente:

  • Das Suchvolumen und die beliebtesten Begriff-Dokument-Paare: Begriffe, die dazu führen, dass auf das gleiche Dokument geklickt wird, geordnet nach Klicks.
  • Suchvorgänge ohne Klicks: Begriffe für Spitzenabfragen, die keine Klicks registrieren.

Der nachstehende Screenshot zeigt, wie ein integrierter Bericht aussehen könnte, wenn Sie alle Schemaelemente verwendet haben.

Screenshot des integrierten Berichts mit allen verfügbaren Schemaelementen.

Nächste Schritte

Instrumentieren Sie Ihre Suchanwendung, um aussagekräftige Daten über Ihren Suchdienst zu erhalten.

Weitere Informationen finden Sie unter Application Insights. Besuchen Sie auch die Seite mit der Preisübersicht, um mehr über die verschiedenen Dienstebenen zu erfahren.

Weitere Informationen zum Erstellen von Berichten. Weitere Informationen finden Sie unter Erste Schritte mit Power BI Desktop.