Azure AI 搜尋服務中的匯入資料精靈

Azure 入口網站中的 [匯入資料精靈] 會建立多個物件,可用於在搜尋服務上編製索引和 AI 擴充。 如果您不熟悉 Azure AI 搜尋服務,這會是您可運用的最強大功能之一。 您不必費太多心力,即可建立索引或擴充管線,以練習 Azure AI 搜尋服務的大部分功能。

如果您使用精靈進行概念證明測試,本文說明精靈的內部運作方式,讓您更有效率地使用。

本文並非逐步說明。 如需搭配內建範例資料使用精靈的說明,請參閱快速入門:建立搜尋索引快速入門:建立文字翻譯和實體技能集

啟動精靈

Azure 入口網站中,從儀表板開啟搜尋服務分頁,或在服務清單中尋找服務。 在頂端的 [服務概觀] 頁面中,選取 [匯入資料]

Screenshot of the Import data command

精靈開啟時會在瀏覽器視窗中完全展開,讓您有更多空間可以運作。

您也可以從其他 Azure 服務 (包括 Azure Cosmos DB、Azure SQL Database、SQL 受控執行個體和 Azure Blob 儲存體) 啟動匯入資料。 在 [服務概觀] 頁面上的左側導覽窗格中,尋找 [新增 Azure AI 搜尋服務]

精靈所建立的物件

精靈將會輸出下表中的物件。 建立物件之後,您就可以在入口網站中檢閱其 JSON 定義,或從程式碼呼叫這些物件。

Object 描述
索引子 設定物件,其指定資料來源、目標索引、選擇性技能、選擇性排程,以及用於錯誤處理和 Base 64 編碼的選擇性組態設定。
資料來源 將連線資訊保存到 Azure 上支援的資料來源。 資料來源物件需單獨與索引子搭配使用。
Index 用於全文檢索搜尋和其他查詢的實體資料結構。
技能集 選擇性。 一組完整的指示,可用來進行內容的操作、轉換和成形作業,包括分析及擷取影像檔案中的資訊。 除非工作量落在每天每個索引子 20 筆交易的限制,否則技能集必須包含 Azure AI 多服務資源 (可提供擴充) 的參考。
知識存放區 選擇性。 將 AI 擴充管線輸出儲存在 Azure 儲存體的資料表和 Blob 中,以進行獨立分析或下游處理。

權益與限制

在撰寫任何程式碼之前,您可以使用精靈來進行建立原型和概念證明測試。 此精靈會連線到外部資料來源、取樣資料以建立初始索引,然後以 JSON 文件形式將資料匯入 Azure AI 搜尋服務的索引中。

如果您要評估技能集,精靈會處理所有輸出欄位對應,並新增協助程式函式來建立可用的物件。 如果您指定剖析模式,則會新增文字分割。 如果您選擇了影像分析,則會新增文字合併,以便精靈可以使用影像內容來重新結合文字描述。 如果您選擇了知識存放區選項,則會新增塑形器以支援有效的投影。 上述所有工作都會有學習曲線。 如果您不熟悉擴充,則可讓您測量技能的價值,無須投入太多時間和精力,即可處理這些步驟。

取樣是推斷索引結構描述的程序,而且有一些限制。 建立資料來源時,精靈會挑選隨機的文件範例,來決定哪些資料行是屬於資料來源。 並不會讀取所有檔案,因為可能需要數小時的時間才能取得非常大的資料來源。 假設有選取的文件、來源中繼資料 (例如欄位名稱或類型) 可用來在索引結構描述中建立欄位集合。 視來源資料的複雜度而定,您可能需要編輯初始結構描述以獲得正確性,或將其擴充以獲得完整性。 您可以在索引定義頁面上內嵌變更。

整體來說,使用精靈的優點很明顯:只要符合需求,您就可以在幾分鐘內建立可查詢索引的原型。 精靈會處理一些編製索引的複雜度,例如將資料序列化為 JSON 文件。

精靈並非沒有限制。 限制摘要如下︰

  • 精靈不支援反覆項目或重複使用。 每次通過精靈都會建立新的索引、技能集和索引子設定。 只有資料來源可在精靈內保存及重複使用。 若要編輯其他物件或縮小其他物件的搜尋範圍,請刪除物件並重新開始,或使用 REST API 或 .NET SDK 來修改結構。

  • 來源內容必須位於支援的資料來源中。

  • 取樣是在來源資料的子集上。 對於大型資料來源,精靈可能會遺漏一些欄位。 如果取樣不足,您可能需要擴充結構描述,或更正推斷的資料類型。

  • 在入口網站中公開的 AI 擴充僅限於內建技能的子集。

  • 精靈可建立的知識存放區僅限於一些預設投影,並使用預設命名慣例。 如果您想要自訂名稱或投影,必須透過 REST API 或 SDK 來建立知識存放區。

  • 使用精靈時,必須在支援的資料來源上啟用所有網路的公用存取,因為如果停用公用存取,入口網站將無法在設定期間存取資料來源。 這表示如果您的資料來源已啟用防火牆,或是您已設定共用私人連結,您必須將其停用、執行匯入資料精靈,然後在精靈設定完成之後加以啟用。 如果並非如此,您可以透過 REST API 或 SDK 來建立 Azure AI 搜尋服務資料來源、索引子、技能集和索引。

工作流程

精靈會組織成 4 個主要步驟:

  1. 連線到支援的 Azure 資料來源。

  2. 建立索引結構描述,由取樣來源資料進行推斷。

  3. 或者,新增 AI 擴充以擷取或產生內容與結構。 此步驟中會收集建立知識存放區的輸入。

  4. 執行精靈來建立物件、載入資料、設定排程和其他設定選項。

工作流程是管線,因此為單向。 您無法使用精靈來編輯任何已建立的物件,但您可以針對允許的更新使用其他入口網站工具,例如索引或索引子設計工具或是 JSON 編輯器。

精靈中的資料來源設定

[匯入資料] 精靈會使用 Azure AI 搜尋服務索引子所提供的內部邏輯連線到外部支援的資料來源,配備這些可取樣來源、讀取中繼資料、破解文件來讀取內容和結構,並將內容序列化為 JSON,以便後續匯入至 Azure AI 搜尋服務。

您可以在連線中貼到不同訂用帳戶或區域中支援的資料來源,但 [選擇現有的連線] 選擇器範圍設定為作用中的訂用帳戶。

Screenshot of the Connect to your data tab.

不保證所有預覽資料來源都可在精靈中使用。 由於每個資料來源都有可能會有其他變更下游,因此,如果預覽資料來源完全支援精靈中的所有體驗 (例如技能集定義和索引結構描述推斷),則只會將預覽資料來源新增至資料來源清單。

您只能從單一資料表、資料庫檢視或對等資料結構匯入,不過,結構可以包含階層式或巢狀子結構。 如需詳細資訊,請參閱如何建立複雜類型模型

精靈中的技能集設定

會在資料來源定義之後進行技能集設定,因為資料來源的類型會通知特定內建技能是否可用。 特別是,如果您要從 Blob 儲存體為檔案編製索引,則選擇這些檔案的剖析模式會判斷情感分析是否可用。

精靈會新增您選擇的技能,但也會新增達到成功結果所需的其他技能。 例如,如果您指定知識存放區,精靈會新增塑形器技能來支援投影 (或實體資料結構)。

技能集是選擇性的,如果您不想要 AI 擴充,可以使用頁面底部的一個按鈕來跳過。

精靈中的索引結構描述設定

精靈會取樣您的資料來源,以偵測欄位和欄位類型。 視資料來源而定,其也可能提供編製中繼資料索引的欄位。

因為取樣是不精確的練習,請就下列考量檢閱索引:

  1. 欄位清單是否正確? 如果您的資料來源包含取樣中未挑選的欄位,您可以手動新增任何取樣所遺漏的新欄位,並移除未將值新增至搜尋體驗的任何欄位,或篩選條件運算式評分設定檔中不會使用的任何欄位。

  2. 資料類型是否適用於傳入的資料? Azure AI 搜尋服務支援實體資料模型 (EDM) 資料類型。 針對 Azure SQL 資料,會有配置對等值的對應圖表。 如需更多背景,請參閱欄位對應和轉換

  3. 您是否有一個欄位可做為金鑰? 此欄位必須為 Edm.string,且必須唯一識別文件。 針對關聯式資料,其可能會對應至主索引鍵。 針對 Blob,可能是 metadata-storage-path。 如果欄位值包含空格或連字號,您必須在 [建立索引子] 步驟的 [進階選項] 底下設定 [Base-64 編碼金鑰] 選項,以隱藏這些字元的驗證檢查。

  4. 設定屬性以判斷該欄位在索引中的使用方式。

    請花點時間進行此步驟,因為屬性會決定索引中欄位的實體運算式。 如果您想要在稍後變更屬性,甚至以程式設計方式變更屬性,您幾乎一律需要卸除並重建索引。 [可搜尋] 和 [可擷取] 等核心屬性會對儲存體造成微乎其微的影響。 啟用篩選條件及使用建議工具會增加儲存需求。

    • Searchable 能夠進行全文檢索搜尋。 用於自由格式查詢或查詢運算式的每個欄位都必須有這個屬性。 針對您標示為 Searchable 的每個欄位,系統會建立反向索引。

    • Retrievable 會在搜尋結果中傳回欄位。 提供內容來搜尋結果的每個欄位都必須有這個屬性。 設定這個欄位對索引大小的影響很小。

    • Filterable 允許在篩選運算式中參考欄位。 用於 $filter 運算式的每個欄位都必須有這個屬性。 篩選條件運算式會用來進行精準比對。 因為文字字串會維持不變,所以需要更多儲存體才能容納逐字的內容。

    • Facetable 可讓欄位進行多面向導覽。 只有同時標示為 Filterable 的欄位才可以標示為 Facetable

    • Sortable 允許欄位用於排序。 用於 $Orderby 運算式的每個欄位都必須有這個屬性。

  5. 您需要語彙分析嗎? 針對 [可搜尋] 的 Edm.string 欄位,如果您想要語言增強的索引和查詢,可以設定 [分析器]

    預設值是「標準 Lucene」,但如果您想要使用 Microsoft 的分析器來進行進階的語彙處理 (例如,解析不規則的名詞和動詞形式),則可以選擇「Microsoft 英文」。 入口網站中只能指定語言分析器。 必須以程式設計的方式使用自訂分析器或非語言分析器 (如關鍵字、模式等等)。 如需分析器的詳細資訊,請參閱新增語言分析器

  6. 您需要自動完成或建議結果形式的預先輸入功能嗎? 選取 [建議工具] 核取方塊,以在選取的欄位上啟用預先輸入的查詢建議和自動完成。 建議工具會新增至索引中的權杖化字詞數目,因此會耗用更多儲存體。

精靈中的索引子設定

精靈的最後一頁會收集索引子設定的使用者輸入。 您可以指定排程,並設定其他會因資料來源類型而異的選項。

精靈也會在內部設定下列定義,在建立索引子之前,這些定義不會顯示在索引子中:

下一步

如需了解精靈的優點和限制,最佳方式是逐步執行。 下列快速入門會說明每個步驟。