快速入門:使用搜尋總管在 Azure 入口網站 中執行查詢
在本快速入門中,瞭解如何使用搜尋總管,這是用於在 Azure AI 搜尋服務中針對搜尋索引執行查詢的 Azure 入口網站 內建查詢工具。 使用它來測試查詢或篩選表達式,或確認內容是否存在於索引中。
本快速入門會使用現有的索引來示範搜尋總管。
必要條件
開始之前,請先具備下列必要條件:
具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
Azure AI 搜尋服務。 建立服務 ,或 在您的目前訂用帳戶下尋找現有的服務 。 您可以針對本快速入門使用免費服務。
realestate-us-sample-index 會用於本快速入門。 若要建立索引,請使用匯 入數據精靈、選擇內建的範例數據,並使用所有預設值逐步執行精靈。
啟動搜尋總管
在 Azure 入口網站 中,從儀錶板開啟搜尋概觀頁面,或尋找您的服務。
從命令行開啟搜尋總管:
或使用開啟索引上的內嵌 搜尋總管 索引標籤:
查詢兩種方式
在搜尋總管中查詢有兩種方法。
默認搜尋列接受空白查詢或具有布爾值的任意文字查詢。 例如:
seattle condo +parking
。JSON 檢視支持參數化查詢。 篩選、orderby、select、count、searchFields 和所有其他參數都必須在 JSON 檢視中設定。
切換至 參數化查詢的 JSON 檢視 。 本文中的範例假設整個 JSON 檢視。 您可以將本文中的 JSON 範例貼到文字區域中。
執行未指定的查詢
在 [搜尋總管] 中,POST 要求是使用 搜尋 POST REST API 在內部制定,而回應會以詳細資訊 JSON 檔的形式傳回。
如需第一次查看內容,請按兩下 [搜尋 ] 以執行空白搜尋,但未提供任何字詞。 空搜尋作為第一個查詢很有用,因為它會傳回整個檔,以便檢閱文件組合。 在空的搜尋中,沒有搜尋分數,檔會依任意順序傳回("@search.score": 1
所有檔)。 根據預設,搜尋要求中會傳回 50 份檔。
空白搜尋的對等語法為 *
或 "search": "*"
。
{
"search": "*"
}
結果
自由文字搜尋
具有或不含運算符的自由格式查詢,對於模擬從自定義應用程式傳送至 Azure AI 搜尋的使用者定義查詢很有用。 只會掃描索引定義中屬性為「可搜尋」的欄位是否有相符專案。
您不需要免費文字查詢的 JSON 檢視,但我們以 JSON 提供它,以便與本文中的其他範例一致。
請注意,當您提供搜尋準則時,例如查詢字詞或表達式,搜尋排名就會生效。 下列範例說明自由文字搜尋。 “@search.score” 是使用預設評分演算法針對比對計算的相關性分數。
{
"search": "Seattle townhouse `Lake Washington` miele OR thermador appliance"
}
結果
您可以使用 Ctrl-F 在結果中搜尋特定感興趣的詞彙。
相符檔的計數
新增 "count": true
以取得索引中找到的相符項目數目。 在空搜尋中,計數是索引中的文件總數。 在合格的搜尋中,它是符合查詢輸入的檔數目。 回想一下,服務預設會傳回前 50 個相符專案,因此計數可能會指出索引中比結果中傳回的相符專案更多。
{
"search": "Seattle townhouse `Lake Washington` miele OR thermador appliance",
"count": true
}
結果
限制搜尋結果中的欄位
新增 「select」 以將結果限制為明確命名的欄位,以在搜尋總管中取得更易讀的輸出。 只有搜尋索引中標示為「可擷取」的欄位才會顯示在結果中。
{
"search": "seattle condo",
"count": true,
"select": "listingId, beds, baths, description, street, city, price"
}
結果
傳回下一批結果
Azure AI 搜尋會根據搜尋排名傳回前 50 個相符專案。 若要取得下一組相符的檔,請附加 "top": 100
並將 "skip": 50
結果集增加為100個檔(預設值為50,最大值為1000),略過前50份檔。 您可以檢查檔案金鑰 (listingID) 來識別檔。
回想一下,您需要提供搜尋準則,例如查詢字詞或表達式,以取得排名的結果。 請注意,搜尋分數會降低您進入搜尋結果的深度。
{
"search": "seattle condo",
"count": true,
"select": "listingId, beds, baths, description, street, city, price",
"top": 100,
"skip": 50
}
結果
篩選表示式 (大於、小於、等於)
filter
使用 參數來指定包含或排除準則。 欄位在索引中必須屬性為「可篩選」。 此範例會搜尋大於 3 的臥室:
{
"search": "seattle condo",
"count": true,
"select": "listingId, beds, baths, description",
"filter": "beds gt 3"
}
結果
排序結果
新增 orderby
以依搜尋分數以外的另一個字段排序結果。 欄位在索引中必須屬性為「可排序」。 在篩選值相同(例如,相同價格)的情況下,訂單是任意的,但您可以新增更多準則以進行更深入的排序。 您可以用來測試此範例的表示式如下:
{
"search": "seattle condo",
"count": true,
"select": "listingId, price, beds, baths, description",
"filter": "beds gt 3",
"orderby": "price asc"
}
結果
重要心得
在本快速入門中,您已使用 搜尋總管 來使用 REST API 查詢索引。
結果會以詳細資訊 JSON 檔的形式傳回,讓您可以完整檢視檔建構和內容。
select
查詢表達式中的 參數可以限制傳回哪些欄位。搜尋結果是由索引中標示為「可擷取」的所有欄位所組成。 選取相鄰 的 [字段 ] 索引標籤以檢閱屬性。
關鍵詞搜尋,類似於您在商業網頁瀏覽器中輸入的內容,對於測試用戶體驗很有用。 例如,假設內建的房地產範例索引,您可以輸入 「Seattle Apartments lake washington」,然後使用 Ctrl-F 在搜尋結果中尋找字詞。
查詢和篩選表達式會以 Azure AI 搜尋所實作的語法來表達。 默認值是簡單的 語法,但您可以選擇性地使用 完整的 Lucene 進行更強大的查詢。 篩選表達式 會以 OData 語法來表達。
清除資源
當您在自己的訂用帳戶中工作時,最好在項目結尾決定您仍然需要所建立的資源。 資源若繼續執行,將需付費。 您可以個別刪除資源,或刪除資源群組以刪除整組資源。
您可以使用左側瀏覽窗格中的 [ 所有資源 ] 或 [資源群組 ] 連結,在入口網站中找到和管理資源。
如果您使用免費服務,請記住,您僅限於三個索引、索引器和數據源。 您可以刪除入口網站中的個別專案,以維持在限制之下。
下一步
若要深入瞭解查詢結構和語法,請使用 REST 用戶端來建立使用 API 更多部分的查詢表達式。 搜尋 POST REST API 特別有助於學習和探索。