Note
Azure AI 搜尋服務 可透過 Azure 入口網站、REST API 及 Azure SDK 取得。 它同時也是 Foundry IQ 的基礎,這是一個管理式知識層,能將企業內容轉化為可重複使用、權限感知的知識庫,供 Microsoft Foundry 入口網站中的代理使用。
在這個快速入門中,你可以使用 匯入資料 精靈和關於虛構飯店的範例資料,開始全 文搜尋,也就是關鍵字搜尋。 精靈不需要任何程式代碼來建立索引,協助您在幾分鐘內撰寫有趣的查詢。
精靈會在你的搜尋服務中建立多個物件,包括可搜尋索引、索引器,以及用於自動資料檢索的資料來源連線。 在本快速入門結束時,您會檢閱每個物件。
先決條件
一個有有效訂閱的 Azure 帳號。 免費建立帳戶。
一個Azure AI 搜尋服務服務。 此快速入門需要 Basic 等級或以上的管理身份支援。 管理身份用於 Azure AI 搜尋服務 與索引器資料來源之間的安全無金鑰認證。
一個Azure 儲存體帳戶。 在標準效能(通用 v2)帳號上使用 Azure Blob 儲存體 或 Azure Data Lake Storage Gen2(帶有階層命名空間的儲存帳號)。 為了避免頻寬費用,請使用與 Azure AI 搜尋服務 相同的區域。
熟悉精靈。 請參考 Azure 入口網站中的匯入資料精靈。
檢查網路存取
所有前述資源都必須啟用公開存取,讓精靈才能存取。 否則,精靈會失敗。 在精靈執行之後,您可以在整合元件上啟用防火牆和私人端點以確保安全性。 欲了解更多資訊,請參閱 匯入精靈中的安全連線。
檢查空間
許多客戶從免費搜尋服務開始,其限制為三個索引、三個索引器和三個數據源。 在本快速入門中,我們會為每種物件創建一個。因此,在開始之前,請確保您有足夠的空間來放置新增的物件。
在 [ 概觀 ] 頁面上,選取 [使用方式] 以查看您目前擁有的索引、索引子和資料來源數目。
設定存取權
開始之前,請確定您有權存取內容和作業。 本快速入門使用 Microsoft Entra ID 進行驗證和授權的角色型存取。 您必須是 擁有者 或 使用者存取管理員 ,才能指派角色。 如果角色不可行,請改用金鑰型驗證。
要設定此快速開始的存取權限:
登入 Azure 入口網站。
關於你的 Azure AI 搜尋服務 服務:
為您的使用者帳號指派以下角色:搜尋服務貢獻者、搜尋索引資料貢獻者,以及搜尋索引資料閱讀器。
在您的Azure 儲存體帳號上,將 Storage Blob Data Reader 指派給您的搜尋服務的管理身份。
準備範例資料
這個快速入門使用了一個範例 JSON 文件,裡面包含 50 家虛構飯店的元資料,但你也可以使用自己的檔案。
若要準備本快速入門的範例資料:
請前往 Azure portal 中的 Azure 儲存體 帳戶。
從左窗格中,選取 [資料記憶體>容器]。
建立一個名為 hotels-sample-data 的容器。
將 sample JSON 文件上傳到容器。
啟動精靈
在 Azure 入口網站中移至您的搜尋服務。
在 概觀 頁面上,選取 匯入資料。
選擇你的資料來源:Azure Blob 儲存體 或 Azure Data Lake Storage Gen2。
選取 關鍵字搜尋。
執行精靈
巫師會帶你完成幾個設定步驟。 本節涵蓋每個步驟的順序。
連線到資料來源
Azure AI 搜尋服務 需要連接到資料來源以進行內容擷取與索引。 在這種情況下,資料來源是你的 Azure 儲存體 帳號。
若要連線到範例數據:
在Connect to your data頁面,選擇你的Azure訂閱。
選擇你的儲存帳戶,然後選擇 hotels-sample-data 容器。
選取剖析模式的 JSON 陣列 。
選取 [ 使用受控識別進行驗證 ] 複選框。 將身分識別類型保留為 系統指派。
選取 下一步。
略過 AI 擴充
精靈支援在索引期間建立技能和 AI 擴充,這超出了本快速入門的範圍。 選取 [ 下一步] 略過此步驟。
秘訣
若要查看專注於 AI 強化的類似逐步指南,請參閱 快速入門:在 Azure 入口網站中建立技能集。
設定索引
精靈會根據範例資料推導出搜尋索引的結構。 索引至少需要名稱和欄位集合。 精靈會掃描唯一字串字段,並將其中一個標示為檔索引鍵,以唯一識別索引中的每個檔。
每個欄位都有名稱、 資料型別和屬性,這些屬性控制它的使用方式。 例如, 可篩選 欄位支援查詢中的篩選表達式,而 可搜尋 欄位則支援關鍵字搜尋。 欲了解更多資訊,請參閱 「配置欄位定義」。
若要在此快速入門中設定查詢範例的索引,請執行以下步驟:
針對下列每個欄位,選取 [設定欄位],然後設定個別的屬性。
Fields Attributes HotelId鍵值、可擷取、可篩選、可排序、可搜尋 HotelName、Category可檢索、可過濾、可排序、可搜索 Description、Description_fr可檢索、可搜索 Tags可檢索、可過濾、可搜索 ParkingIncluded、IsDeleted可檢索、可過濾、可分面 LastRenovationDate、Rating、Location可檢索、可過濾、可排序 Address.StreetAddress、Rooms.Description、Rooms.Description_fr可檢索、可搜索 Address.City、Address.StateProvince、Address.PostalCode、Address.Country可檢索、可篩選、多面向瀏覽、可搜尋、可排序 Rooms.Type、Rooms.BedOptions、Rooms.Tags可擷取、可篩選、可面向、可搜尋 Rooms.BaseRate、Rooms.SleepsCount、Rooms.SmokingAllowed可檢索、可過濾、可分面 選取 下一步。
略過進階設定
精靈提供語意排名和索引排程的進階設定,這超出了本快速入門的範圍。 選取 [ 下一步] 略過此步驟。
完成精靈
最後一步是檢視你的設定,並在搜尋服務上建立索引、索引器和資料來源。 索引器會自動執行從資料來源擷取內容並將其載入索引,以啟用關鍵字搜尋。
若要完成精靈:
將物件名稱前置詞變更為 hotels-sample。
檢閱物件組態。
AI 擴充、語意排名器和索引子排程會停用或設定為預設值,因為您略過了其精靈步驟。
選取 [ 建立 ] 以同時建立物件並執行索引子。
檢查索引子狀態
從左側窗格選擇 搜尋管理>索引器。
在清單中尋找 hotels-sample-indexer 。
截圖,顯示在 Azure 入口中正在建立中的索引器。 更新結果可能需要幾分鐘的時間。 您應該會看到新建立的索引器,其狀態為 [進行中 ] 或 [ 成功]。 此清單也會顯示已編製索引的文件數目。
查看索引結果
新增或更改索引欄位
在 欄位 標籤中,您可以選擇 新增欄位 ,並指定名稱、支援的資料型態和屬性來建立欄位。
變更現有的欄位比較困難。 現有的欄位在搜尋索引中有實體表示法,因此它們無法修改,即使是在程式代碼中也一樣。 若要從根本上變更現有的欄位,您必須建立新的欄位來取代原始欄位。 你可以隨時在索引中加入其他結構,例如評分輪廓和語意配置。
檢閱索引定義選項,以瞭解您可以在索引設計期間編輯和無法編輯的內容。 如果選項顯示為暗灰色,您無法修改或刪除它。
查詢索引
您現在有一個可以使用 搜尋總管查詢的搜尋索引,該總管會傳送符合 Documents - Search Post (REST API) 的 REST 呼叫。 此工具支援 簡單的查詢語法 及 完整的 Lucene 查詢語法 以進行關鍵字搜尋。
若要查詢搜尋索引:
在 搜尋總管 標籤中,輸入查詢詞或字串,例如
new york hotel with pool or gym。若要跳至輸出的不可見區域,請使用迷你地圖。
若要指定語法,請切換至 JSON 檢視。
執行以下查詢範例,了解篩選和查詢語法的運作方式。
秘訣
JSON 檢視支援參數名稱完成的 IntelliSense。 將游標放在 JSON 視圖內並輸入空格字元以查看所有查詢參數的清單。 您也可以輸入字母 (例如
s),以僅查看以該字母開頭的查詢參數。Intellisense 不會排除無效的參數,因此請使用您的最佳判斷。
篩選範例
停車、標記、裝修日期、評分和位置是可篩選的。
{
"search": "beach OR spa",
"select": "HotelId, HotelName, Description, Rating",
"count": true,
"top": 10,
"filter": "Rating gt 4"
}
布林篩選條件預設會假定 "true"。
{
"search": "beach OR spa",
"select": "HotelId, HotelName, Description, Rating",
"count": true,
"top": 10,
"filter": "ParkingIncluded"
}
地理空間搜尋是以篩選為基礎。
geo.distance 函式會根據指定的 Location 和 geography'POINT 座標,篩選位置資料的所有結果。 查詢會在緯度和經度座標的 -122.12 47.67五公里內搜尋酒店,也就是“美國華盛頓雷德蒙德”。此查詢會顯示與旅館名稱和位址位置相符項目的 &$count=true 總數。
{
"search": "*",
"select": "HotelName, Address/City, Address/StateProvince",
"count": true,
"top": 10,
"filter": "geo.distance(Location, geography'POINT(-122.12 47.67)') le 5"
}
完整 Lucene 語法範例
默認 語法是簡單的語法,但如果您想要模糊搜尋、詞彙提升或正則表達式,請指定 完整的語法。
{
"queryType": "full",
"search": "seatle~",
"select": "HotelId, HotelName,Address/City, Address/StateProvince",
"count": true
}
搜尋詞拼錯,例如 seatle 而不是 Seattle,通常不會在搜尋結果中返回相符結果。
queryType=full 參數會叫用完整的 Lucene 查詢剖析器,其支援波狀符號 (~) 運算元。 當您使用這些參數時,查詢會針對指定的關鍵詞執行模糊搜尋,並根據類似但不完全相符的字詞執行比對。
欲了解更多範例資訊,請參閱 查詢 Azure AI 搜尋服務。
清除資源
當您在自己的訂用帳戶中工作時,建議在專案結束時移除不再需要的資源。 仍在執行的資源可能會產生費用。
在Azure入口網站中,從左側窗格選擇 所有資源或 資源群組以尋找並管理資源。 你可以單獨刪除資源,或是一次性刪除資源群組,移除所有資源。
如果你使用免費搜尋服務,請記得你只能使用三個索引、索引器和資料來源。 你可以在入口網站 刪除單一項目 ,這樣可以保持在限制內。
後續步驟
試試 Azure 入口網站精靈,生成一個在瀏覽器中執行的現成網頁應用程式。 在快速入門中建立的小索引上使用這個嚮導,或使用 sample data,以獲得更豐富的搜尋體驗。