快速入門:在 Azure 入口網站中建立搜尋索引
在本 Azure AI 搜尋服務快速入門中,使用匯入資料精靈,以及由 Microsoft 所裝載虛構飯店資料的內建範例資料來源,建立您的第一個「搜尋索引」。 此精靈會引導您完成無程式碼的搜尋索引建立,以協助您在幾分鐘內寫出有趣的查詢。
此精靈會在您的搜尋服務上建立多個物件 - 可搜尋的索引 - 但也會建立索引子和資料來源,進行自動資料擷取。 在本快速入門結束時,我們會檢閱每個物件。
注意
[匯入資料] 精靈包含本快速入門未涵蓋的 OCR、文字翻譯和其他 AI 擴充選項。 如需著重於所套用 AI 的類似逐步解說,請參閱快速入門:在 Azure 入口網站中建立技能 (英文)。
必要條件
在本快速入門中,由於使用內建的範例資料,請確定搜尋服務沒有網路存取控制。 入口網站控制器會使用公用端點,從 Microsoft 所裝載的內建範例資料來源擷取資料和中繼資料。 如需詳細資訊,請參閱在匯入精靈中保護連線。
檢查空間
許多客戶開始使用此免費服務。 免費層的限制為三個索引、三個資料來源,以及三個索引子。 開始之前,請先確定您有空間可容納額外的項目。 本快速入門會建立各一個物件。
檢查服務的 [概觀]>[使用量] 索引標籤,以查看您已有多少個索引、索引子和資料來源。
啟動精靈
使用您的 Azure 帳戶登入 Azure 入口網站,然後移至您的 Azure AI 搜尋服務。
在 [概觀] 頁面上,選取 [匯入資料] 以啟動精靈。
建立並載入索引
在本節中,以四個步驟建立並載入索引。
連線到資料來源
精靈會建立資料來源連線,以連線至 Microsoft 在 Azure Cosmos DB 上裝載的範例資料。 此範例資料會透過公用端點來擷取。 您不需要自己的 Azure Cosmos DB 帳戶或來源檔案,即可執行本快速入門。
在 [連線至您的資料] 上,展開 [資料來源] 下拉式清單,然後選取 [範例]。
在內建範例清單中,選取 [飯店範例]。
選取 [下一步: 新增認知技能 (選用)] 以繼續。
略過認知技能的設定
[匯入資料] 精靈支援在編製索引時建立技能集和 AI 擴充。
針對本快速入門,請忽略 [新增認知技能] 索引標籤上的 AI 擴充設定選項。
選取 [跳至: 自訂目標索引] 以繼續。
提示
對 AI 擴充有興趣嗎? 請嘗試此快速入門:在 Azure 入口網站中建立技能集
設定索引
精靈會推斷內建飯店範例索引的結構描述。 請遵循下列步驟來設定索引:
接受 [索引名稱] (hotels-sample-index) 和 [索引鍵] 欄位 (HotelId) 的系統產生值。
接受所有欄位屬性的系統產生值。
選取 [下一步: 建立索引子] 以繼續。
索引至少需要 [索引名稱] 和 [欄位] 的集合。 必須將一個欄位標示為「文件索引鍵」,以專門識別每份文件。 值一律為字串。 精靈會掃描唯一的字串欄位,並為索引鍵選擇一個欄位。
每個欄位都有名稱、資料類型,以及控制如何在搜尋索引中使用欄位的「屬性」。 核取方塊會啟用或停用下列屬性:
- 可擷取:查詢回應中傳回的欄位。
- 可篩選:接受篩選條件運算式的欄位。
- 可排序:接受 orderby 運算式的欄位。
- 可 Facet:多面向導覽結構中使用的欄位。
- 可搜尋:在全文檢索搜尋中使用的欄位。 字串可以搜尋。 數字欄位和布林值欄位通常會標示為不可搜尋。
字串的屬性為 [可擷取] 和 [可搜尋]。 整數的屬性為 [可擷取]、[可篩選]、[可排序] 和 [可 Facet]。
屬性會影響儲存體。 [可篩選] 欄位會耗用額外的儲存體,但 [可擷取] 則不會。 如需詳細資訊,請參閱示範屬性和建議工具對儲存體影響的範例。
如果您想要自動完成或建議的查詢,請指定語言分析器或建議工具。
設定和執行索引子
最後一個步驟會設定和執行索引子。 此物件定義可執行的程序。 在這個步驟中會建立資料來源、索引和索引子。
接受 [索引子名稱] (hotels-sample-index) 的系統產生值。
針對本快速入門,請使用預設選項立即執行索引子一次。 裝載的資料是靜態的,因此不會為其啟用任何變更追蹤。
選取 [提交] 以建立並同時執行索引子。
監視索引子進度
您可以在入口網站中監視索引子或索引的建立。 服務 [概觀] 頁面會提供連結,以連結至 Azure AI 搜尋服務中建立的資源。
選取左邊的 [索引子]。
可能需要幾分鐘的時間,才能在 Azure 入口網站中更新頁面結果。 您應該會在清單中看到新建立的索引子,其狀態為 [進行中] 或 [成功]。 此清單也會顯示已編製索引的文件數目。
檢查搜尋索引結果
選取左邊的 [索引]。
選取 hotels-sample-index。
等待 Azure 入口網站頁面重新整理。 您應該會看到具有文件計數和儲存體大小的索引。
選取 [欄位] 索引標籤來檢視索引結構描述。
檢查哪些欄位是 [可篩選] 或 [可排序],以便您知道要撰寫的查詢。
新增或變更欄位
在 [欄位] 索引標籤上,您可以使用 [新增欄位],搭配名稱、支援的資料類型和屬性來建立新的欄位。
變更現有欄位比較困難。 現有欄位在索引中具有實體表示法,因此無法修改這些欄位,甚至是在程式碼中也無法修改。 若要從根本上變更現有的欄位,您需要建立取代原始欄位的新欄位。 其他建構 (例如評分設定檔和 CORS 選項) 可以隨時新增至索引。
若要清楚地了解您在索引設計期間可以編輯和無法編輯的項目,請花點時間檢視索引定義選項。 欄位清單中呈現灰色的選項表示無法修改或刪除的值。
使用搜尋總管進行查詢
您現在具有可使用搜尋總管查詢的搜尋索引。 [搜尋總管] 會傳送符合搜尋 POST REST API 的 REST 呼叫。 此工具支援簡易查詢語法和完整 Lucene 查詢語法。
在 [搜尋總管] 索引標籤上,輸入要搜尋的文字。
使用縮圖快速跳至看不見的輸出區域。
若要指定語法,請切換至 JSON 檢視。
飯店範例索引的範例查詢
下列範例假定 JSON 檢視和 2024-05-01-preview REST API 版本。
提示
JSON 檢視現在針對參數名稱完成支援 Intellisense。 將游標放在 JSON 檢視內,並輸入空格字元以顯示所有查詢參數的清單,或輸入單一字母 (例如 "s"),以只顯示開頭為 "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
5 公里以內的飯店,也就是 "Redmond, Washington, USA"。此查詢會顯示相符項目總數 &$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 入口網站中刪除個別項目,以避免超出限制。
下一步
試用 Azure 入口網站,以產生可在瀏覽器中執行的立即可用 Web 應用程式。 請在您已於本快速入門中建立的小型索引上使用此精靈,或使用其中一個內建的資料集範例,來獲得更豐富的搜尋體驗。