在本快速入門指南中,您將瞭解如何使用 搜尋探險家,它是一個內建於 Azure 入口網站的查詢工具,可用於對 Azure AI 搜尋索引執行查詢。 使用此工具可測試查詢或篩選運算式,或確認索引中是否存在內容。
本快速入門會使用現有的索引來示範搜尋總管。
先決條件
具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
Azure AI 搜尋服務。 建立服務 ,或在目前的訂用帳戶中 尋找現有的服務 。 在本快速入門中,您可以使用免費服務。
本快速入門會使用 hotels-sample 索引。 請依 照這個快速入門 的指示建立索引。
開啟 [搜尋總管]
登入 Azure 入口網站 ,然後選取您的搜尋服務。
從左窗格中,選取 [ 概觀]。
在命令列上,選取 搜尋資源管理器。
或者,選擇索引頁面上的 搜尋瀏覽器 索引標籤。
查詢可以透過以下三種方式進行
有三種查詢方法可用於搜尋探索工具:
查詢檢視會提供預設的搜尋列。 它接受具有布林值的空白查詢或自由文字查詢,例如
ocean view + parking。影像檢視提供視窗來流覽或拖放 PNG、JPG 或 JPEG 檔案。 除非您的索引具有 影像向量化工具和對等技能,否則無法使用此檢視。
JSON 檢視支援參數化查詢。 Filters、orderby、select、count、searchFields 和所有其他參數都必須在 JSON 檢視內進行設定。
範例:影像查詢
搜尋探索工具會透過影像視圖接受影像作為查詢輸入,這需要您使用支援的向量化技術組合。 如需詳細資訊,請參閱 在搜尋索引中設定向量工具。
飯店樣本索引沒有設定為影像向量化。 如果您想要執行映像查詢,請建立索引,如 快速入門:Azure 入口網站中的向量搜尋中所述。 快速入門依賴以文字為基礎的範例數據,因此您必須使用包含影像的檔。
若要執行影像查詢,請選取或拖曳影像至搜尋區域,然後選取 [ 搜尋]。 搜尋探險者會將影像向量傳送至搜尋引擎以執行查詢。 搜尋引擎會傳回與輸入影像相近的檔,最多可傳回指定的 k 結果數目。
範例:JSON 查詢
以下是您可以使用搜尋總管執行的 JSON 查詢範例。 若要遵循這些範例,請切換至 JSON 檢視。 您可以將每個 JSON 範例貼到文字區域中。
秘訣
JSON 檢視支援參數名稱完成的 IntelliSense。 將游標放在 JSON 視圖內並輸入空格字元以查看所有查詢參數的清單。 您也可以輸入字母 (例如 s),以僅查看以該字母開頭的查詢參數。
Intellisense 不會排除無效的參數,因此請使用您的最佳判斷。
執行未指定查詢
在搜尋總管中,POST 要求內部會使用文章 - 搜尋貼文 (REST API) (部分內容可能是機器或 AI 翻譯) 來編寫,並以詳細資訊 JSON 文件的形式傳回回應。
如需查看內容,請在不輸入任何字詞的情況下選取 搜尋 以執行空白搜尋。 空的搜尋作為第一個查詢很有用,因為它會傳回整個文件,以便您可以檢閱文件組合。 在空白搜尋中,沒有搜尋分數,而且文件會以任意順序傳回 ("@search.score": 1 適用於所有文件)。 依預設,每個搜尋要求會傳回 50 個文件。
新增 "count": true 以取得索引中找到的相符項目數。 在空白搜尋中,計數是索引中的文件總數。 在限定搜尋中,它是符合查詢輸入的文件數目。 請記住,該服務預設會返回前 50 個匹配結果,因此計數可能會顯示索引中存在比結果中返回的更多匹配結果。
空的搜尋的對等語法是 * 或 "search": "*"。
{
"search": "*",
"count": true
}
結果
執行任意文字查詢
自由格式搜尋,無論是否有運算符,都有助於模擬從自定義應用程式傳送至 Azure AI 搜尋的使用者定義查詢。 在索引中被標記為可搜尋的欄位才會被掃描以尋找相符項目。
您不需要自由文字查詢的 JSON 檢視,但我們會以 JSON 形式提供它,以便與本文中的其他範例保持一致。
請注意,當您提供搜尋準則 (例如查詢字詞或運算式) 時,搜尋排名可派上用場。 以下透過範例說明任意文字搜尋。 這是 @search.score 使用 預設評分演算法為比對計算的相關性分數。
{
"search": "activities `outdoor pool` restaurant OR continental breakfast"
}
結果
您可以使用 Ctrl-F 來搜尋結果中感興趣的特定字詞。
限制搜尋結果中的欄位
新增 "select" 以將結果限制為明確命名的欄位,以便在 搜尋總管中取得更易讀的輸出。 只有在索引中設定為可擷取的欄位才能顯示在結果中。
{
"search": "activities `outdoor pool` restaurant OR continental breakfast",
"count": true,
"select": "HotelId, HotelName, Tags, Description"
}
結果
傳回下一個批次的結果
Azure AI 搜尋會根據搜尋排名傳回前 50 個相符結果。 飯店樣本指數只有 50 家飯店,因此我們用較小的數字來說明分頁。 若要取得下一組匹配的文件,將 "top": 20 和 "skip": 10 附加上去,將結果集增加到20份文件(預設為50份,最大為1000份),同時跳過前10份文件。 您可以檢查文件鍵 (HotelId) 來識別文件。
回想一下,您必須提供搜尋準則,例如查詢字詞或運算式,以取得高排序結果。 當您深入搜尋結果時,搜尋分數會降低。
{
"search": "activities `outdoor pool` restaurant OR continental breakfast",
"count": true,
"select": "HotelId, HotelName, Tags, Description",
"top": 20,
"skip": 10
}
結果
篩選條件運算式 (大於、小於、等於)
使用 filter 參數來指定包含或排除準則。 欄位必須在索引中標記為可篩選。 此範例搜尋高於四分的評分:
{
"search": "activities `outdoor pool` restaurant OR continental breakfast",
"count": true,
"select": "HotelId, HotelName, Tags, Description, Rating",
"filter": "Rating gt 4"
}
結果
排序結果
新增 orderby 以依照搜尋分數以外的其他欄位對結果進行排序。 欄位必須設定為可排序才能在索引中使用。 若經篩選的值相同 (如相同價格),則這些項目會任意排序,但您可增加其他準則,以更精細的方式進行排序。 以下是可用來測試此動作的範例運算式:
{
"search": "activities `outdoor pool` restaurant OR continental breakfast",
"count": true,
"select": "HotelId, HotelName, Tags, Description, Rating, LastRenovationDate",
"filter": "Rating gt 4",
"orderby": "LastRenovationDate desc"
}
結果
重要心得
在本快速入門中,您已透過搜尋總管來使用 REST API 查詢索引。
結果會以詳細的 JSON 文件形式傳回,以便您可以完整檢視每個文件的建構和內容。
select查詢運算式中的參數會限制傳回的欄位。搜尋結果是由索引中標記為可檢索的所有欄位組成。 選取 欄位 索引標籤以檢閱屬性。
關鍵字搜尋類似於您在商業網頁瀏覽器中輸入的內容,對於測試最終使用者體驗非常有用。 例如,假設是 hotels-sample index,你可以輸入
"activities 'outdoor pool' restaurant OR continental breakfast",然後用 Ctrl-F 在搜尋結果中尋找關鍵字。查詢和篩選條件運算式會以 Azure AI 搜尋服務所實作的語法表達。 預設值是簡單語法,但您可以選擇使用完整 Lucene 功能進行更強大的查詢。 篩選條件運算式是以 OData 語法表達。
清除資源
當您以自己的訂用帳戶運作時,最好在專案結束時確定您是否仍需要您建立的資源。 讓資源繼續執行可能會產生費用。 您可以個別刪除資源,或刪除資源群組以刪除整組資源。
在 Azure 入口網站中,您可以從左窗格中選取 [所有資源 ] 或 [ 資源群組 ],以尋找和管理資源。
請記住,免費搜尋服務僅限於三個索引、三個索引子和三個資料來源。 若要保持在限制以下,您可以在 Azure 入口網站中個別刪除這些專案。
後續步驟
若要深入瞭解查詢結構和語法,請使用 REST 用戶端來建立使用 REST API 更多部分的查詢運算式。 文件 - 搜尋貼文 (REST API) 對於學習和探索特別有幫助。