使用進階檢視集總覽在預覽 (搜尋複習集內容)

Microsoft Purview 電子文件探索 (預覽) 的進階審查集總覽器,讓審查者能利用 Kusto 查詢語言 (KQL) 的定義子集,對審查集內容進行即時大數據分析。 透過預覽) (進階審查集總管,您可以直接在 Microsoft Purview 入口網站查詢、篩選並視覺化檢視集資料,而無需修改底層內容。 查詢會針對完整的索引項目集執行,並回傳表格結果或圖表視覺化。

使用進階複習組總管 (預覽) 來:

  • 找出熱門項目類型,發現模式,並在評論集中尋找趨勢。
  • 建立具備複雜篩選、基於模式的文字擷取及資料格式解析的強大查詢。
  • 分析並找出與您的案件或組織相關的關鍵資訊。
  • 利用圖表視覺化查詢結果,全面理解審查集資料。

提示

立即開始使用 Microsoft Security Copilot,探索利用 AI 力量更聰明、更快速地工作的新方法。 在 Microsoft Purview 中了解更多關於 Microsoft Security Copilot 的資訊。

開啟進階複習組總管 (預覽)

要開啟進階複習套件總覽 (預覽) ,請完成以下步驟:

  1. 前往 Microsoft Purview 入口網站 ,並用 已分配 eDiscovery 權限的使用者帳號憑證登入。
  2. 選擇 電子發現 解決方案卡片,然後在左側導覽中選擇 案件 。
  3. 選擇一個案件,然後選擇 「審查組 」分頁。
  4. 選擇一個複習集,然後選擇 預覽) 分頁 (進階複習集總管 。

從這裡,你可以直接對評論集資料撰寫並執行 KQL 查詢。

提示

如果你偏好視覺化、無程式碼的方式來篩選審查集內容,請參考 使用查詢條件建構器在審查集中的搜尋內容。

進階複習集總覽 (預覽) 包含左側導覽窗格及結果區,協助你建立、發現及執行 KQL 查詢。

提示

如果你是 KQL 新手,建議先從 「入門 」標籤開始探索基本查詢模式,然後使用左側窗格的 範例查詢 進行更有針對性的分析。

左側導航面板

左側導覽窗格提供三個可摺疊區塊,讓您能探索審查集架構並快速將查詢元素插入編輯器:

  • Schema:顯示你複習組可用的表格 () ReviewSetTable 。 選擇資料表名稱並將其插入查詢編輯器。
  • 運算子:列出所有支援的 KQL 運算子,包括 count、 、 limitsortsummarizerendertaketopextendorderwheremv-expandprojectproject-awayproject-keepdistinct 選擇任一運算元將其加入你的查詢中。
  • 範例查詢:提供現成的查詢範本,用於常見的審查集分析任務,例如 FileClass count(圓餅圖)、FileTypecount、 ItemClass count、 Participants count、 SensitivityLabel count 及 Source count。 選擇一個範例查詢,直接載入查詢編輯器。

開始分頁

查詢結果區下方 的「開始」 標籤提供快速參考,方便建立查詢。 它包含可選的範例,分為兩類。

選擇任意查詢名稱即可直接將範例載入查詢編輯器:

類別 查詢 描述
基本查詢 限制 顯示來自指定表格的10個結果。
Where 以日期和以「.jpg」結尾的檔名篩選結果。
數目 計算符合指定篩選器的列數。
Top 依日期排列結果,並顯示前 10 行。
Project 結果中僅顯示檔案名稱、檔案類型和日期欄位。
進階查詢 摘要 顯示主要資料來源,並計算每個來源的項目數量。
Extend 新增一欄以合併標題與作者值。
Mv-expand(最大擴展) 擴充參與者列表並計算每位參與者的次數。
渲染 依檔案類別計算項目,並將結果呈現為圓餅圖。

進階複習集總覽 (預覽) 在複習集中的運作方式

每個查詢都針對完整審查集的資料執行,並返回:

  • 一份匹配項目的 表格列表 ,或
  • 根據查詢內容,是 圖表視覺化。

查詢遵循標準的 KQL 管線語法,每行都是建立在前一步結果的基礎上。 入口網站會自動將表格名稱作為 ReviewSetTable 第一行。 每一行後續查詢行都必須以 \|開頭。

例如:

ReviewSetTable
| where SubjectTitle has "Case"
| summarize count() by FileClass

注意事項

進階審閱集總覽 (預覽) 對當前審閱集的索引項目執行所有查詢。 你不需要指定表格名稱。 審查集作為預設資料來源。

最佳做法

在進階審查集瀏覽器撰寫查詢時,請遵循以下最佳實務:

  • 先用 where 篩選器縮小資料範圍再使用 summarize 或 render。
  • 在執行完整聚合前,用來 take 驗證查詢邏輯。
  • 避免在大型複習集中使用過於寬泛的正則表達模式。
  • 使用 where isnotempty(ColumnName) 排除屬性中空值的項目,有助於避免結果中出現意外的空白列。

其他考量事項

進階評測集總管 (預覽版) 不支援所有 Kusto 運算子和屬性。 在撰寫查詢時請考慮以下幾點:

  • 查詢為唯讀,不會修改評論集內容。 欲了解更多關於使用審查集的資訊,請參閱 eDiscovery 中的「管理審查集」。
  • 結果反映評審集目前的索引狀態。 如果你在審查集中加入更多資料,查詢可能會回傳不同的結果。
  • 並非所有檔案類型都能查詢。 如需詳細資訊,請參閱電子文件探索中支援的檔案類型。
  • 如果查詢回傳超過 10,000 個結果,則只會回傳前 10,000 個結果。 修改查詢以縮小搜尋範圍。

關於 Kusto 的語法與參考資料,請參閱以下條目:

支援的基本運算子

提示

欲了解可用於查詢的完整屬性清單,請參閱 電子發現中的文件元資料欄位。

其中運算元

使用操作 where 符可根據主題、關鍵字、項目類別、日期或參與者等元資料篩選項目。

以下範例會篩選審查集,只回傳主 旨 包含「Day」字樣的項目。

ReviewSetTable
| where SubjectTitle has "Day"

此查詢會過濾審查集,包含所有 ItemClass 以 開頭 IPM.Appointment的行事曆相關項目,涵蓋標準約會及擴展類別如 IPM.AppointmentSnapshot.SkypeTeams.Call。

ReviewSetTable
| where ItemClass startswith "IPM.Appointment"

專案營運商

只歸 project 還你在乎的房產。 例如,以下查詢執行兩個動作:

  • 依主題文字篩選項目:該where SubjectTitle has "Day"條款限制結果僅包含 SubjectTitle 中含有「Day」字樣的項目。
  • 專案單一欄位:此 project SubjectTitle 子句僅回傳 SubjectTitle 屬性,將其他欄位從輸出中移除。
ReviewSetTable
| where SubjectTitle has "Day"
| project SubjectTitle

遠距運算子

操作符 project-away 會從查詢結果中移除指定的欄位,同時保留所有其他欄位。 當你想排除少數屬性,而不是列出你想保留的每一欄時,才會用它。

以下範例回傳審查集中除 CompoundPath 和 InternetMessageId 外的所有屬性,這兩者被排除在輸出之外。

ReviewSetTable
| where SubjectTitle has "Day"
| project-away CompoundPath, InternetMessageId

專案保持運算子

操作員 project-keep 只保留符合特定模式或清單的欄位,其他所有欄位都被移除。 與 project不同, project-keep 保留原始欄位順序並支援萬用符模式。

以下範例僅保留名稱以「發送者」或「收件人」開頭的欄位,方便專注於通訊參與者,而不必逐一列出每個屬性。

ReviewSetTable
| where SubjectTitle has "Day"
| project-keep Sender*, Recipient*

Mv-展開運算子

運算子將 mv-expand 多值屬性 (如參與者或接收者清單) 擴展為獨立的列,每個值一列。 這對於分析包含多個值的欄位中的個別條目非常有用。

以下範例將 參與者 欄位擴展,使每個參與者出現在自己的一列,然後計算每個參與者相關的項目數量。 這有助於辨識評審中最活躍的參與者。

ReviewSetTable
| mv-expand Participants
| summarize count() by tostring(Participants)

延伸運算元

運算子 extend 透過從現有欄位產生新值,為查詢結果新增一個或多個計算出的欄位,且不改變底層資料。

以下範例將審查組項目分為四個大小類別——小型 (<1MB) 、中型 (1–5MB) 、中大型 (5–10MB) ,以及大型 (>10MB) ——透過使用函式建立新欄位SizeCategorycase(),然後利用 進行各類別summarize項目的總數彙整。 它幫助調查人員快速了解審查集中檔案大小的分布,以便風險評估或優先排序。

ReviewSetTable
| extend SizeCategory = case(Size > 10485760, "Large (>10MB)", Size >= 5242880 and Size <= 10485760, "Medium-Large (5–10MB)", Size >= 1048576 and Size < 5242880, "Medium (1–5MB)", "Small (<1MB)")
| summarize count() by SizeCategory

摘要運算子

運算子 summarize 透過應用如 count()、 sum()、 或 avg()等函數來彙總資料,並根據指定的欄位對結果進行分組。

以下範例計算依 SubjectTitle 分組的包含「Day」一詞的項目。

ReviewSetTable
| where SubjectTitle has "Day"
| summarize count() by SubjectTitle

渲染條形圖、渲染柱狀圖、渲染圓餅圖

操作員 render barchart 會將查詢的表格結果以條狀圖形式顯示。 這使得彙總值的分布或比較變得更容易。

以下範例將主題標題視為條狀圖。

ReviewSetTable
| where SubjectTitle has "Day"
| summarize count() by SubjectTitle
| render barchart

取 (極限) 算符

運算子 take 限制查詢輸出在指定的列數內。 它只會回傳資料集的前 n 個結果。 limit操作符是同take義詞,你可以互換使用。

以下範例僅回傳前 10 個匹配項目,讓您在執行完整查詢前可以驗證查詢邏輯或抽查內容。 此方法有助於處理大型審查集或複雜篩選器,因為結果計算與載入時間較長,且輸出 take 量不受限制。

ReviewSetTable
| where SubjectTitle has "day"
| project SubjectTitle, SenderDomain, Custodian, Size
| take 10

排序運算元

運算子根據 sort 一個或多個指定的欄位,以升序或降序排列查詢結果。

以下範例查詢計算審查集中每個 NativeFileExtension 的項目總數,方法是使用 summarize count()。 接著,它會依項目數量由多到低排序這些副檔名群組,讓你知道哪些檔案類型最常見。

ReviewSetTable
| summarize ItemCount = count() by NativeFileExtension
| sort by ItemCount desc

獨立運算子

distinct操作符透過移除查詢結果中的重複列,回傳指定欄位的唯一值。

以下範例是移除 distinct 重複的,讓你只看到獨特的保管人,然後 sort by Custodian asc 按字母順序排序,方便掃描或匯出報告。

ReviewSetTable
| distinct Custodian
| sort by Custodian asc

計數運算子

運算子 count 會回傳查詢結果集的總列數,讓你能快速看到該集合中有多少項目。

以下範例計算包含「Day」一詞的獨特主題標題數量。

ReviewSetTable
| where SubjectTitle has "Day"
| summarize by SubjectTitle
| count

頂尖操作員

運算子 top 會從查詢結果中回傳前 n 列,依一個或多個指定欄位排序。 用它來根據你的排序標準取得最高或最低的數值。

以下範例列出你評論集中前五大項目。

ReviewSetTable
| top 5 by Size desc

Bin 運算元

該 bin() 函數會將日期時間或數值向下取整至指定箱大小的最近倍數。 使用此函式將資料分組為時間區間或數值範圍,例如每小時桶或大小範圍。

以下範例將審查集中的項目分組為每 1 MB 大小的桶,使用 bin(Size, 1048576),計算每個桶 summarize count()中有多少項目,並依序排序,讓你能看到檔案大小從小到大分布。

ReviewSetTable
| summarize ItemCount = count() by bin(Size, 1048576)
| sort by bin(Size, 1048576) asc

常見案例

以下情境展示 Kubernetes 在進階審查集探索器 (預覽) 中查詢如何幫助你分析並更深入了解審查集資料。

情境一:兩位使用者之間的通訊

尋找僅在兩位特定使用者——John 和 David 之間交換的物品,且沒有其他參與者。 此查詢將他們直接一對一的溝通隔離,僅顯示三個屬性:主旨標題、發送者與收件人。

ReviewSetTable
| where isnotempty(Participants)
| extend ParticipantEmails = extract_all(@"\<(\[^\>\]+)\>", tostring(Participants))
| extend ParticipantCount = array_length(ParticipantEmails)
| where ParticipantCount == 2
| where ParticipantEmails has "John@contoso.com" and ParticipantEmails has "David@contoso.com"
| project SubjectTitle, SenderAuthor, Recipients

情境二:外部寄送的電子郵件

找出所有包含至少一個外部收件人 (且非組織 contoso.com) 的審查組項目,並為每個項目列出這些外部電子郵件地址。

ReviewSetTable
| where isnotempty(Recipients)
| extend Emails = extract_all(@"\<(\[^\>\]+)\>", tostring(Recipients))
| mv-expand Email = Emails
| extend Email = tostring(Email)
| where Email !contains "@contoso.com"
| summarize ExternalRecipients = make_set(Email) by ImmutableId, SubjectTitle

情境三:辨識回顧集中的日期與時間模式

隨時間視覺化數據有助於調查人員識別溝通或文件製作中的異常或激增,例如可能與已知事件相關的電子郵件激增。 季度檢視與商業週期相符,使發現更容易與財務報告期、內部審計或政策變更相互關聯。

以下範例分析檢視組項目隨時間的分布,方法是依年度與季度分組項目,並將結果視覺化為欄狀圖。 它依日期範圍篩選項目,從每個項目的 日期 欄位提取年份與季度,計算每個年度與季度組合中的項目,建立可讀標籤 (例如 2024年第二季) ,並將結果呈現為欄狀圖表。

ReviewSetTable
| where Date > datetime(2015-01-01) and Date < datetime(2025-08-31)
| extend Year = datetime_part("year", Date), Quarter = datetime_part("quarter", Date)
| summarize EventCount = count() by Year, Quarter
| sort by Year asc, Quarter asc
| extend QuarterLabel = strcat("Q", tostring(Quarter), " ", tostring(Year))
| project QuarterLabel, EventCount
| render columnchart

情境四:在審查集中視覺化 Microsoft Teams 訊息類型

以下範例將依項目類別檢視集中分類並視覺化 Microsoft Teams 訊息類型,幫助您了解不同訊息格式的分布。

ReviewSetTable
| where ItemClass startswith "IPM.SkypeTeams.Message."
| project SubjectTitle, Date, SenderAuthor, FileClass, ItemClass, InternetMessageId
| summarize ItemCount = count() by ItemClass
| sort by ItemCount desc
| render piechart

在進階複習集總管 (預覽) 中使用正則表達式

進階複習集總覽 (預覽) 支援 正則表達式 (正則表達式) ,以強化文本欄位中的模式匹配。 正則表達式支援讓你能搜尋複雜的字元序列,例如字母數字組合、特殊字元或結構化模式,超越簡單的關鍵字匹配。 使用正則表達式來:

  • 識別特定格式的項目,例如ID、代碼或結構化標記。
  • 偵測標準操作員喜歡 has 或 startswith 無法捕捉的模式。
  • 進行進階過濾以進行合規或鑑識調查。

用 KQL 撰寫正則表達式的技巧

  • 需要時 (正確地) \\ 逃脫後斬。
  • 用錨點 (^ 作為起始, $) 作為結尾,精確定位。
  • 測試模式逐步調整,以避免過於廣泛的匹配。
  • 與其他運算子結合, (and,例如) or 以進行精確查詢。
  • 參考資料: 正則表達式語法。

語法

請在子where句中使用matches regex運算子:

where <PropertyName> matches regex "<pattern>"

範例:在關鍵字中匹配複雜模式

以下查詢會 尋找關鍵字欄位 符合 10 字元、10 位數及 10 個非字元模式的項目:

ReviewSetTable
| where Keywords matches regex "\\w{10}\\d{10}\\W{10}"
| project SubjectTitle, CompoundPath, Date, SenderAuthor, FileClass, ItemClass, InternetMessageId
  • 篩選 關鍵字屬性包含 以下項目:

    • 10字字 (\w)
    • 接著是十位數 (\d)
    • 接著是10個非文字角色 (\W)
  • 依規定回傳關鍵元資料欄位供審查。

修正常見的 KQL 語法錯誤

當你在進階審查集總管 (預覽) 建立查詢時,可能會遇到語法錯誤。

下表列出常見錯誤及其修正方法:

錯誤 原因 修正程式
sort 運算子需要欄位名稱 使用 sort 時沒有明確說明要用什麼排序。 在 後加上欄位名稱 sort by。 例如,sort by Date desc。
預期或), 缺少括號或函式參數錯誤。 檢查所有開頭括號的結尾括號是否相符,函式參數是否以逗號分隔。
未知功能 使用不支援或拼錯的函式名稱。 請核對函式名稱與 KQL 文件。 常見的例子包括 count()、 tostring()和 datetime()。
預計代幣: \ | 查詢行在起始缺少管道運算子。 確保之後 ReviewSetTable 的每一行都以 \ | 開頭。
欄位未找到 引用一個不存在於審查集架構中的屬性名稱。 請檢查你評論集中可用的專欄名稱。 物業名稱是區分大小寫的。
summarize 需要一個 by 條款 使用 summarize 彙總但無分組欄位。 新增 by 一個包含一欄或多欄的子句。 例如,summarize count() by FileClass。
查詢意外結束 查詢不完整或有尾隨管道且無運算子。 刪除查詢結尾的尾部 \ | ,或在後面加入預期的運算子。

注意事項

如果某些舊的審查集在建立檢視集和產生資料時無法使用某些 KQL 屬性,可能就不支援這些屬性。 在較舊的審查集中查詢不支援的屬性時,會出現欄位未找到錯誤。 要解決此錯誤,請建立新的審查集,並使用 新增審查集 程序,重新生成包含最新支援屬性的資料。