Zbieranie danych telemetrycznych na potrzeby analizy ruchu wyszukiwania

Analiza ruchu wyszukiwania to wzorzec zbierania danych telemetrycznych dotyczących interakcji użytkownika z aplikacją usługi Azure AI Search, takich jak zdarzenia kliknięć inicjowane przez użytkownika i dane wejściowe klawiatury. Korzystając z tych informacji, możesz określić skuteczność rozwiązania wyszukiwania, w tym popularne terminy wyszukiwania, szybkość kliknięć i które dane wejściowe zapytania dają zero wyników.

Ten wzorzec pobiera zależność od Szczegółowe informacje aplikacji (funkcji usługi Azure Monitor) w celu zbierania danych użytkownika. Wymaga to dodania instrumentacji do kodu klienta, zgodnie z opisem w tym artykule. Na koniec potrzebny jest mechanizm raportowania do analizowania danych. Zalecamy usługę Power BI, ale możesz użyć pulpitu nawigacyjnego aplikacji lub dowolnego narzędzia łączącego się z aplikacją Szczegółowe informacje.

Uwaga

Wzorzec opisany w tym artykule jest przeznaczony dla zaawansowanych scenariuszy i danych strumienia kliknięć generowanych przez kod dodany do klienta. Natomiast dzienniki usług są łatwe do skonfigurowania, zapewniają szereg metryk i można to zrobić w portalu bez konieczności wprowadzania kodu. Włączenie rejestrowania jest zalecane we wszystkich scenariuszach. Aby uzyskać więcej informacji, zobacz Zbieranie i analizowanie danych dziennika.

Identyfikowanie odpowiednich danych wyszukiwania

Aby uzyskać przydatne metryki do analizy ruchu wyszukiwania, należy zarejestrować pewne sygnały od użytkowników aplikacji wyszukiwania. Sygnały te oznaczają zawartość, którą użytkownicy są zainteresowani i że uważają za istotne. Na potrzeby analizy ruchu wyszukiwania są następujące:

  • Zdarzenia wyszukiwania generowane przez użytkownika: interesujące są tylko zapytania wyszukiwania inicjowane przez użytkownika. Inne żądania wyszukiwania, takie jak te używane do wypełniania aspektów lub pobierania informacji wewnętrznych, nie są ważne. Pamiętaj, aby instrumentować tylko zdarzenia inicjowane przez użytkownika, aby uniknąć niesymetryczności lub stronniczości w wynikach.

  • Zdarzenia kliknięć generowane przez użytkownika: na stronie wyników wyszukiwania zdarzenie kliknięcia zwykle oznacza, że dokument jest odpowiednim wynikiem dla określonego zapytania wyszukiwania.

Łącząc wyszukiwanie i klikanie zdarzeń za pomocą identyfikatora korelacji, możesz lepiej zrozumieć, jak dobrze działa funkcja wyszukiwania aplikacji.

Dodawanie analizy ruchu wyszukiwania

Na stronie portalu dla usługa wyszukiwania usługi Azure AI otwórz stronę Analiza ruchu wyszukiwania, aby uzyskać dostęp do ściągawki, aby uzyskać dostęp do tego wzorca telemetrii. Na tej stronie możesz wybrać lub utworzyć zasób aplikacji Szczegółowe informacje, pobrać klucz instrumentacji, skopiować fragmenty kodu, które można dostosować do rozwiązania, a następnie pobrać raport usługi Power BI utworzony na podstawie schematu odzwierciedlonego we wzorcu.

Zrzut ekranu przedstawiający polecenie portalu i stronę konfigurowania Szczegółowe informacje aplikacji.

Krok 1. Konfigurowanie Szczegółowe informacje aplikacji

Wybierz istniejący zasób Szczegółowe informacje aplikacji lub utwórz go, jeśli jeszcze go nie masz.

Skrót, który działa dla niektórych typów projektów programu Visual Studio, jest odzwierciedlany w poniższych krokach.

Na potrzeby ilustracji te kroki używają klienta z sekcji Dodawanie wyszukiwania do statycznej aplikacji internetowej.

  1. Otwórz rozwiązanie w programie Visual Studio.

  2. W menu Project (Projekt) wybierz pozycję Połączenie ed services Add aplikacja systemu Azure Szczegółowe informacje (Dodaj> aplikacja systemu Azure Szczegółowe informacje.>

  3. W Połączenie zależności wybierz pozycję aplikacja systemu Azure Szczegółowe informacje, a następnie wybierz przycisk Dalej.

  4. Wybierz subskrypcję platformy Azure, zasób aplikacji Szczegółowe informacje, a następnie wybierz pozycję Zakończ.

Na tym etapie aplikacja jest skonfigurowana do monitorowania aplikacji, co oznacza, że wszystkie obciążenia stron w aplikacji klienckiej są śledzone przy użyciu domyślnych metryk.

Jeśli ten skrót nie zadziałał, zobacz Włączanie telemetrii po stronie serwera Szczegółowe informacje aplikacji.

Krok 2. Dodawanie instrumentacji

Dodaj kod instrumentacji do aplikacji klienckiej. Strona Analiza ruchu wyszukiwania w witrynie Azure Portal zawiera fragmenty kodu, które można wkleić do kodu aplikacji.

Tworzenie klienta telemetrii

Utwórz obiekt, który wysyła zdarzenia do Szczegółowe informacje aplikacji. Instrumentację można dodać do kodu aplikacji po stronie serwera lub kodu po stronie klienta działającego w przeglądarce, wyrażonego tutaj jako warianty języka C# i JavaScript. W przypadku innych języków zobacz obsługiwane platformy i struktury.

Telemetria po stronie serwera przechwytuje metryki w warstwie aplikacji, na przykład w aplikacjach działających jako usługa internetowa na platformie Azure lub jako aplikacja lokalna w sieci firmowej. Telemetria po stronie serwera przechwytuje wyszukiwanie i klikanie zdarzeń, położenie dokumentu w wynikach i informacje o zapytaniach, ale zbieranie danych będzie ograniczone do informacji dostępnych w tej warstwie.

Na kliencie może istnieć inny kod, który manipuluje danymi wejściowymi zapytań, dodaje nawigację lub zawiera kontekst (na przykład zapytania inicjowane ze strony głównej a strona produktu). Jeśli to opisuje twoje rozwiązanie, możesz wybrać instrumentację po stronie klienta, aby telemetria odzwierciedlała dodatkowe szczegóły. Sposób zbierania dodatkowych szczegółów wykracza poza zakres tego wzorca, ale możesz przejrzeć aplikację Szczegółowe informacje dla stron internetowych, aby uzyskać pomoc dotyczącą tej decyzji.

Klucz instrumentacji można pobrać z witryny Azure Portal na stronach aplikacji Szczegółowe informacje lub na stronie Analiza ruchu wyszukiwania dla usługi Azure AI Search.

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

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

Zdarzenia przeszukiwania dzienników

Za każdym razem, gdy żądanie wyszukiwania jest wystawiane przez użytkownika, należy zarejestrować to jako zdarzenie wyszukiwania przy użyciu następującego schematu w zdarzeniu niestandardowym aplikacji Szczegółowe informacje. Pamiętaj, aby rejestrować tylko zapytania wyszukiwania generowane przez użytkownika.

  • SearchServiceName: (ciąg) nazwa usługi wyszukiwania
  • SearchId: (guid) unikatowy identyfikator zapytania wyszukiwania (pojawia się w odpowiedzi wyszukiwania)
  • IndexName: (ciąg) indeks usługi wyszukiwania do odpytowania
  • QueryTerms: (ciąg) terminy wyszukiwania wprowadzone przez użytkownika
  • ResultCount: (int) liczba zwróconych dokumentów (pojawia się w odpowiedzi wyszukiwania)
  • ScoringProfile: (ciąg) nazwa używanego profilu oceniania, jeśli istnieje

Uwaga

Zażądaj liczby zapytań wygenerowanych przez użytkownika, dodając $count=true do zapytania wyszukiwania. Aby uzyskać więcej informacji, zobacz Wyszukiwanie dokumentów (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);

Zdarzenia kliknięcia dziennika

Za każdym razem, gdy użytkownik kliknie dokument, jest to sygnał, który musi być rejestrowany do celów analizy wyszukiwania. Użyj usługi Application Szczegółowe informacje zdarzeń niestandardowych, aby rejestrować te zdarzenia przy użyciu następującego schematu:

  • ServiceName: (ciąg) nazwa usługi wyszukiwania
  • SearchId: (guid) unikatowy identyfikator powiązanego zapytania wyszukiwania
  • DocId: (ciąg) identyfikator dokumentu
  • Pozycja: (int) ranga dokumentu na stronie wyników wyszukiwania

Uwaga

Pozycja odnosi się do kolejności kardynałów w aplikacji. Możesz ustawić tę liczbę, o ile jest ona zawsze taka sama, aby umożliwić porównywanie.

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

Krok 3. Analizowanie w usłudze Power BI

Po instrumentacjach aplikacji i zweryfikowaniu, że aplikacja jest poprawnie połączona z aplikacją Szczegółowe informacje, pobierz wstępnie zdefiniowany szablon raportu w celu analizowania danych w programie Power BI Desktop. Raport zawiera wstępnie zdefiniowane wykresy i tabele przydatne do analizowania dodatkowych danych przechwyconych na potrzeby analizy ruchu wyszukiwania.

  1. W witrynie Azure Portal na stronach usługi wyszukiwania w obszarze Ustawienia wybierz pozycję Wyszukaj analizę ruchu.

  2. Wybierz pozycję Pobierz program Power BI Desktop , aby zainstalować usługę Power BI.

  3. Wybierz pozycję Pobierz raport usługi Power BI, aby pobrać raport.

  4. Raport zostanie otwarty w programie Power BI Desktop i zostanie wyświetlony monit o nawiązanie połączenia z aplikacją Szczegółowe informacje i podanie poświadczeń. Informacje o połączeniu można znaleźć na stronach witryny Azure Portal dla zasobu application Szczegółowe informacje. W przypadku poświadczeń podaj tę samą nazwę użytkownika i hasło, które są używane do logowania do portalu.

    Zrzut ekranu przedstawiający sposób nawiązywania połączenia z usługą Application Szczegółowe informacje z usługi Power BI.

  5. Wybierz Załaduj.

Raport zawiera wykresy i tabele, które ułatwiają podejmowanie bardziej świadomych decyzji w celu poprawy wydajności i istotności wyszukiwania.

Metryki zawierały następujące elementy:

  • Liczba wyszukiwań i najpopularniejszych par dokumentów terminów: terminy, które powodują kliknięcie tego samego dokumentu, uporządkowane według kliknięć.
  • Wyszukiwanie bez kliknięć: terminy dotyczące najważniejszych zapytań, które nie rejestrują żadnych kliknięć

Poniższy zrzut ekranu przedstawia, jak może wyglądać wbudowany raport, jeśli użyto wszystkich elementów schematu.

Zrzut ekranu przedstawiający wbudowany raport ze wszystkimi dostępnymi elementami schematu.

Następne kroki

Instrumentacja aplikacji wyszukiwania w celu uzyskania zaawansowanych i szczegółowych danych dotyczących usługi wyszukiwania.

Więcej informacji na temat Szczegółowe informacje aplikacji można znaleźć na stronie cennika, aby dowiedzieć się więcej o różnych warstwach usług.

Dowiedz się więcej o tworzeniu raportów. Aby uzyskać szczegółowe informacje, zobacz Wprowadzenie do programu Power BI Desktop .