Azure 認知搜尋中的資料匯入
在 Azure 認知搜尋中,查詢會針對載入至搜尋索引的使用者擁有內容而執行。 本文描述兩個用於填入索引的基本工作流程:以程式設計方式將資料「推送」至索引,或使用搜尋索引子「提取」資料。
無論使用哪一種方法,目標都是從外部資料源載入資料。 雖然您可以建立空的索引,但在您新增內容之前無法查詢該索引。
注意
如果 AI 擴充是解決方案需求,您必須使用提取模型 (索引子) 載入索引。 技能集會附加至索引子,且不會獨立執行。
將資料推送到索引
用來以程式設計方式將資料傳送至 Azure 認知搜尋的推送模型是最具彈性的方法,原因如下:
首先,沒有資料來源類型的限制。 資料集必須包含對應至索引結構描述的 JSON 文件,但資料可以來自任何地方。
其次,沒有執行頻率的限制。 您可以視需要經常將變更推送到索引。 若應用程式需要低延遲 (例如,如果您需要讓搜尋作業與動態庫存資料庫保持同步),推送模式是您的唯一選擇。
第三,您可以個別或以批次方式上傳文件,每個批次最多 1000 個文件,或每個批次 16 MB,以先到者為準。
第四,連線能力和安全性擷取檔完全受到控制。 相反地,索引子連線會使用認知搜尋中提供的安全性功能進行驗證。
如何將資料推送到 Azure 認知搜尋索引
您可以使用下列 API,將單一或多份文件載入索引中:
目前沒有工具可支援透過入口網站推送資料。
如需推送 API 的簡介,請參閱:
- C# 教學課程 - 使用推送 API 將索引編製最佳化
- C# 快速入門:使用 .NET SDK 建立 Azure 認知搜尋索引
- REST 快速入門:使用 PowerShell 建立 Azure 認知搜尋索引
- Python 快速入門:使用適用于 Python 的 Azure SDK 建立Azure 認知搜尋索引
- JavaScript 快速入門:使用適用于 JavaScript 的 Azure SDK 建立Azure 認知搜尋索引
編制索引動作:upload、merge、mergeOrUpload、delete
您可以根據文件控制編製索引動作的類型,進而指定文件是否應該完整上傳、與現有文件內容合併,或將其刪除。
無論您使用 REST API 還是 SDK,都支援下列文件作業進行資料匯入:
Upload 動作類似 "upsert",如果是新文件,就會插入該文件,如果文件已經存在,就會更新或取代該文件。 如果文件遺漏索引所需的值,則文件欄位的值會設定為 null。
merge 會更新已經存在的文件,而且會使找不到的文件失敗。 合併會取代現有的值。 基於這個原因,請務必檢查包含多個值的集合欄位,例如類型為
Collection(Edm.String)
的欄位。 例如,如果tags
欄位以["budget"]
的值開始,而且使用["economy", "pool"]
執行合併,則tags
欄位的最終值為["economy", "pool"]
。 其不會是["budget", "economy", "pool"]
。如果文件存在,mergeOrUpload 的行為就像 merge 一樣,而如果文件是新的,則像 upload 一樣。
delete 會從索引中刪除整份文件。 如果想要移除個別欄位,請改用 merge,將有問題的欄位設定為 null。
將資料提取到索引中
提取模型會將支援的資料來源編目,並自動將資料上傳到您的索引。 在 Azure 認知搜尋中,這項功能是透過「索引子」來實作,目前適用於下列平台:
- Azure Blob 儲存體
- Azure 資料表儲存體
- Azure Data Lake Storage Gen2 \(部分機器翻譯\)
- Azure 檔案儲存體 (預覽)
- Azure Cosmos DB
- Azure VM 上的 Azure SQL Database、SQL 受控執行個體和 SQL Server
- Microsoft 365 中的 SharePoint (預覽)
索引子可將索引連接到資料來源 (通常是資料表、檢視或對等結構),並將來源欄位對應至索引中的對等欄位。 在執行期間,資料列集會自動轉換為 JSON 並載入指定的索引。 所有索引子都支援排程,以便您可以指定資料重新整理的頻率。 如果資料來源支援索引子,則大部分的索引子都會提供變更追蹤。 除了辨識新文件,索引子還會追蹤現有文件的變更和刪除,讓您不必主動管理索引中的資料。
如何將資料提取至 Azure 認知搜尋索引
索引子功能會在 Azure 入口網站、REST API 以及 .NET SDK中出現。
使用入口網站的優點是 Azure 認知搜尋通常可藉由讀取來源資料集的中繼資料,產生預設的索引結構描述。 直到處理索引後,您才可以修改產生的索引,而後只允許不需要重新編製索引的結構描述編輯。 如果變更影響結構描述本身,您必須重建索引。
透過搜尋總管確認資料匯入
對文件上傳執行初步檢查的快速方法是使用入口網站中的搜尋總管。
此總管可讓您查詢索引,而不需撰寫任何程式碼。 搜尋體驗是以預設設定為基礎,例如簡單語法和預設 searchMode 查詢參數。 結果會以 JSON 格式傳回,以便您檢查整份文件。
以下是您可以在 [搜尋總管] 中執行的範例查詢。 "HotelId" 是 hotels-sample-index 的文件索引鍵。 篩選條件會提供特定文件的文件識別碼:
$filter=HotelId eq '50'
如果您使用 REST,此查閱查詢會達成相同的目的。