收集用於搜尋使用分析的遙測數據

搜尋使用分析是收集使用者與 Azure AI 搜尋應用程式互動遙測的模式,例如使用者起始的點擊事件和鍵盤輸入。 使用這項資訊,您可以判斷搜尋解決方案的有效性,包括熱門的搜尋字詞、點擊率,以及哪些查詢輸入會產生零結果。

此模式相依於Application Insights(Azure 監視器的功能)來收集用戶數據。 您必須將檢測新增至用戶端程序代碼,如本文所述。 最後,您需要報告機制來分析數據。 建議您使用Power BI,但您可以使用應用程式儀錶板或任何連線至 Application Insights 的工具。

注意

本文所述的模式適用於進階案例,以及您新增至用戶端的程式代碼所產生的點擊串流數據。 相反地,服務記錄很容易設定、提供一系列計量,而且可以在入口網站中完成,而不需要任何程序代碼。 建議在所有案例中啟用記錄。 如需詳細資訊,請參閱 收集和分析記錄數據

識別相關的搜尋數據

若要具備搜尋使用分析的實用計量,您必須記錄搜尋應用程式使用者的某些訊號。 這些訊號表示使用者感興趣的內容,以及他們認為相關內容。 針對搜尋使用分析,包括:

  • 用戶產生的搜尋事件:只有使用者起始的搜尋查詢很有趣。 其他搜尋要求,例如用來填入 Facet 或擷取內部資訊的搜尋要求並不重要。 請務必只檢測使用者起始的事件,以避免結果中的扭曲或偏差。

  • 用戶產生的點擊事件:在搜尋結果頁面上,按兩下事件通常表示檔是特定搜尋查詢的相關結果。

藉由連結搜尋和按兩下具有相互關聯標識碼的事件,您可以更深入地瞭解應用程式的搜尋功能執行程度。

新增搜尋使用分析

在 Azure AI 搜尋服務 的入口網站頁面中,開啟 [搜尋使用分析] 頁面,以存取速查表,以遵循此遙測模式。 您可以從此頁面選取或建立 Application Insights 資源、取得檢測金鑰、複製您可以適應解決方案的代碼段,以及下載透過模式反映的架構所建置的 Power BI 報表。

用於設定 Application Insights 的入口網站命令和頁面螢幕快照。

步驟 1:設定 Application Insights

如果您還沒有 Application Insights 資源,請選取現有的 Application Insights 資源,或 建立一個 資源。

適用於某些 Visual Studio 專案類型的快捷方式會反映在下列步驟中。

例如,這些步驟會使用從 [將搜尋新增至靜態 Web 應用程式] 的用戶端。

  1. 在 Visual Studio 中開啟您的方案。

  2. 在 [專案] 功能表上,選取 連線 服務>[新增> Azure 應用程式 深入解析]。

  3. 在 [連線 相依性] 中,選取 [Azure 應用程式 Insights],然後選取 [下一步]。

  4. 選取您的 Azure 訂用帳戶、Application Insights 資源,然後選取 [ 完成]。

此時,您的應用程式會設定為應用程式監視,這表示用戶端應用程式中的所有頁面載入都會使用預設計量進行追蹤。

如果此快捷方式無法為您運作,請參閱 啟用 Application Insights 伺服器端遙測

步驟 2:新增檢測

將檢測程式代碼新增至用戶端應用程式。 Azure 入口網站 中的 [搜尋使用分析] 頁面提供代碼段,您可以貼到應用程式程式代碼中。

建立遙測用戶端

建立物件,以將事件傳送至 Application Insights。 您可以將檢測新增至在瀏覽器中執行的伺服器端應用程式程式代碼或用戶端程式代碼,這裡以 C# 和 JavaScript 變體表示。 如需其他語言,請參閱 支援的平台和架構

伺服器端遙測會在應用層擷取計量,例如在 Azure 上以 Web 服務執行的應用程式,或作為公司網路上的內部部署應用程式。 伺服器端遙測會擷取搜尋和按一下事件、檔在結果中的位置,以及查詢資訊,但您的數據收集範圍會限定於該層中可用的任何資訊。

在用戶端上,您可能會有其他程式碼可操作查詢輸入、新增流覽或包含內容(例如,從首頁起始的查詢與產品頁面)。 如果這描述您的解決方案,您可能會選擇客戶端檢測,讓您的遙測反映額外的詳細數據。 收集此額外詳細數據的方式超出此模式的範圍,但您可以檢閱 Application Insights 網頁 以取得該決策的說明。

您可以在 Application Insights 的頁面或 Azure AI 搜尋的搜尋使用分析頁面中,從 Azure 入口網站 取得檢測密鑰。

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

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

記錄搜尋事件

每次使用者發出搜尋要求時,您應該將它記錄為 Application Insights 自定義事件上具有下列架構的搜尋事件。 請記得只記錄用戶產生的搜尋查詢。

  • SearchServiceName:(字串) 搜尋服務名稱
  • SearchId:(guid) 搜尋查詢的唯一識別碼(位於搜尋回應中)
  • IndexName:(字串) 要查詢的搜尋服務索引
  • QueryTerms:(字串)用戶輸入的搜尋字詞
  • ResultCount: (int) 傳回的檔案數目(出現在搜尋回應中)
  • ScoringProfile:(字串)所使用評分配置檔的名稱,如果有的話

注意

將 $count=true 新增至您的搜尋查詢,以要求用戶產生的查詢計數。 如需詳細資訊,請參閱 搜尋檔 (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);

記錄點選事件

每次使用者按下檔時,這是必須記錄以供搜尋分析之用的訊號。 使用 Application Insights 自訂事件,以下列架構記錄這些事件:

  • ServiceName:(字串) 搜尋服務名稱
  • SearchId:(guid) 相關搜尋查詢的唯一標識碼
  • DocId:(字串) 文件識別碼
  • 位置: (int) 搜尋結果頁面中檔排名

注意

位置是指應用程式中的基數順序。 您可以自由設定此數位,只要一律相同,即可進行比較。

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

步驟 3:在 Power BI 中進行分析

檢測應用程式並確認應用程式已正確連線到 Application Insights 之後,您就會下載預先定義的報表範本來分析 Power BI Desktop 中的數據。 此報表包含預先定義的圖表和數據表,可用於分析針對搜尋使用分析擷取的額外數據。

  1. 在搜尋服務頁面上的 Azure 入口網站 中,於 [設定] 底下,選取 [搜尋使用分析]。

  2. 選取 [取得 Power BI Desktop ] 以安裝 Power BI。

  3. 選取 [ 下載 Power BI 報表 ] 以取得報表。

  4. 報表會在 Power BI Desktop 中開啟,系統會提示您連線到 Application Insights 並提供認證。 您可以在 Application Insights 資源的 Azure 入口網站 頁面中找到連線資訊。 針對認證,請提供您用於入口網站登入的相同使用者名稱和密碼。

    顯示如何從Power BI連線到 Application Insights 的螢幕快照。

  5. 選取載入

報表包含圖表和數據表,可協助您做出更明智的決策,以改善搜尋效能和相關性。

計量包含下列專案:

  • 搜尋磁碟區和最熱門的字詞檔組:導致按點順序按一次相同檔的字詞。
  • 不按選搜尋:未登錄點擊次數之最上層查詢的字詞

下列螢幕快照顯示如果您已使用所有架構元素,內建報表的外觀。

顯示使用所有可用架構元素之內建報表的螢幕快照。

下一步

檢測您的搜尋應用程式,以取得搜尋服務的強大且深入解析數據。

您可以找到 Application Insights 的詳細資訊,並瀏覽定價頁面以深入瞭解其不同的服務層級。

深入瞭解如何建立報表。 如需詳細資訊,請參閱 開始使用Power BI Desktop