共用方式為


在 Azure AI 搜尋服務中匯入精靈

Azure AI 搜尋服務有兩個匯入精靈,可將索引編製和物件定義自動化,讓您可以立即開始查詢。 如果您不熟悉 Azure AI 搜尋服務,這些精靈是您可運用的最強大功能之一。 您不必費太多心力,即可建立索引或擴充管線,以練習 Azure AI 搜尋服務的大部分功能。

[匯入資料精靈] 支援非向量工作流程。 您可以從原始文件擷取英數字元文字。 您也可以設定應用 AI 和內建技能,以推斷結構並從影像檔案和非結構化資料產生文字可搜尋的內容。

匯入並向量化資料精靈支援向量化。 您必須指定內嵌模型的現有部署,但精靈會建立連線、制定要求並處理回應。 它會從文字或影像內容產生向量內容。

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

本文並非逐步說明。 如需使用精靈搭配內建範例資料的說明,請參閱:

啟動精靈

  1. Azure 入口網站中,從儀表板開啟搜尋服務分頁,或在服務清單中尋找服務

  2. 在頂端的服務 [概觀] 頁面中,選取 [匯入資料] 或 [匯入並向量化資料]

    新增索引選項的螢幕快照。

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

  3. 如果您選取 [ 匯入數據],則可以選取 [範例 ] 選項,以使用所支持數據源中預先建置的數據樣本。

    [匯入數據] 頁面的螢幕快照,其中已選取 [範例] 選項。

  4. 請遵循精靈中的其餘步驟來建立索引和索引器。

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

精靈所建立的物件

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

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

福利

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

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

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

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

限制

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

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

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

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

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

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

安全連線

匯入精靈會使用入口網站控制器和公用端點進行輸出連線。 如果 Azure 資源是透過私人連線或透過共用私人連結存取,則無法使用精靈。

您可以透過受限制的公用連線使用精靈,但並非所有功能都可以使用。

  • 在搜尋服務上,匯入內建取樣資料需要公用端點,且無防火牆規則。

    取樣資料是由 Microsoft 於特定 Azure 資源上託管。 入口網站控制器會透過公用端點連線到這些資源。 如果您將搜尋服務放在防火牆後方,當您嘗試擷取內建的範例資料時,就會收到此錯誤:Import configuration failed, error creating Data Source,後面接著 "An error has occured."

  • 在受防火牆保護的支援 Azure 資料來源上,如果您有正確的防火牆規則,則可以擷取資料。

    Azure 資源必須接受來自連線上所用裝置 IP 位址的網路要求。 您也應該將 Azure AI 搜尋服務列為資源網路設定上受信任的服務。 例如,在 Azure 儲存體中,您可以將 Microsoft.Search/searchServices 列為受信任的服務。

  • 在連線至您提供的 Azure AI 多服務帳戶,或連線至部署在 Azure AI Studio 或 Azure OpenAI 中的內嵌模型時,必須啟用公用網際網路存取。 這些 Azure 資源是在您於 [匯入資料] 精靈中使用內建技能或在 [匯入並向量化資料] 精靈中使用整合向量化時呼叫。

    • 在 [匯入並向量化資料] 精靈中,錯誤為 "Access denied due to Virtual Network/Firewall rules."

    • 在 [匯入資料] 精靈中,沒有錯誤,但不會建立技能集。

如果防火牆設定使得精靈工作流程無法成功,請考慮改用指令碼或程式設計方法。

工作流程

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

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

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

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

  4. 執行精靈以建立物件、選擇性地向量化資料、將資料載入索引、設定排程和其他設定選項。

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

精靈中的資料來源設定

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

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

[連線到您的資料] 索引標籤的螢幕擷取畫面。

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

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

精靈中的技能集設定

技能集設定在資料來源定義之後發生,因為資料來源的類型會告知特定內建技能是否可用。 特別是,如果您要從 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. 您需要自動完成或建議結果形式的預先輸入功能嗎? 選取 [建議工具] 核取方塊,以在選取的欄位上啟用預先輸入的查詢建議和自動完成。 建議工具會新增至索引中的權杖化字詞數目,因此會耗用更多儲存體。

精靈中的索引子設定

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

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

下一步

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