快速入門:使用搜尋總管在 Azure 入口網站 中執行查詢

在本快速入門中,瞭解如何使用搜尋總管,這是用於在 Azure AI 搜尋服務中針對搜尋索引執行查詢的 Azure 入口網站 內建查詢工具。 使用它來測試查詢或篩選表達式,或確認內容是否存在於索引中。

本快速入門會使用現有的索引來示範搜尋總管。

必要條件

開始之前,請先具備下列必要條件:

啟動搜尋總管

  1. Azure 入口網站 中,從儀錶板開啟搜尋概觀頁面,或尋找您的服務

  2. 從命令行開啟搜尋總管:

    Screenshot of the Search explorer command in portal.

    或使用開啟索引上的內嵌 搜尋總管 索引標籤:

    Screenshot of the Search explorer tab.

查詢兩種方式

在搜尋總管中查詢有兩種方法。

  • 默認搜尋列接受空白查詢或具有布爾值的任意文字查詢。 例如: seattle condo +parking

  • JSON 檢視支持參數化查詢。 篩選、orderby、select、count、searchFields 和所有其他參數都必須在 JSON 檢視中設定。

    切換至 參數化查詢的 JSON 檢視 。 本文中的範例假設整個 JSON 檢視。 您可以將本文中的 JSON 範例貼到文字區域中。

    Screenshot of the JSON view selector.

執行未指定的查詢

在 [搜尋總管] 中,POST 要求是使用 搜尋 POST REST API 在內部制定,而回應會以詳細資訊 JSON 檔的形式傳回。

如需第一次查看內容,請按兩下 [搜尋 ] 以執行空白搜尋,但未提供任何字詞。 空搜尋作為第一個查詢很有用,因為它會傳回整個檔,以便檢閱文件組合。 在空的搜尋中,沒有搜尋分數,檔會依任意順序傳回("@search.score": 1 所有檔)。 根據預設,搜尋要求中會傳回 50 份檔。

空白搜尋的對等語法為 *"search": "*"

{
   "search": "*"
}

結果

Unqualified or empty query example

具有或不含運算符的自由格式查詢,對於模擬從自定義應用程式傳送至 Azure AI 搜尋的使用者定義查詢很有用。 只會掃描索引定義中屬性為「可搜尋」的欄位是否有相符專案。

您不需要免費文字查詢的 JSON 檢視,但我們以 JSON 提供它,以便與本文中的其他範例一致。

請注意,當您提供搜尋準則時,例如查詢字詞或表達式,搜尋排名就會生效。 下列範例說明自由文字搜尋。 “@search.score” 是使用預設評分演算法針對比對計算的相關性分數。

{
    "search": "Seattle townhouse `Lake Washington` miele OR thermador appliance"
}

結果

您可以使用 Ctrl-F 在結果中搜尋特定感興趣的詞彙。

Screenshot of a free text query example.

相符檔的計數

新增 "count": true 以取得索引中找到的相符項目數目。 在空搜尋中,計數是索引中的文件總數。 在合格的搜尋中,它是符合查詢輸入的檔數目。 回想一下,服務預設會傳回前 50 個相符專案,因此計數可能會指出索引中比結果中傳回的相符專案更多。

{
    "search": "Seattle townhouse `Lake Washington` miele OR thermador appliance",
    "count": true
}

結果

Screenshot of a count example.

限制搜尋結果中的欄位

新增 「select」 以將結果限制為明確命名的欄位,以在搜尋總管取得更易讀的輸出。 只有搜尋索引中標示為「可擷取」的欄位才會顯示在結果中。

{
   "search": "seattle condo",
   "count": true,
   "select": "listingId, beds, baths, description, street, city, price"
}

結果

Screenshot of restrict fields in search results example.

傳回下一批結果

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
}

結果

Screenshot of returning next batch of search results example.

篩選表示式 (大於、小於、等於)

filter使用 參數來指定包含或排除準則。 欄位在索引中必須屬性為「可篩選」。 此範例會搜尋大於 3 的臥室:

{
    "search": "seattle condo",
    "count": true,
    "select": "listingId, beds, baths, description",
    "filter": "beds gt 3"
}

結果

Screenshot of a filter example.

排序結果

新增 orderby 以依搜尋分數以外的另一個字段排序結果。 欄位在索引中必須屬性為「可排序」。 在篩選值相同(例如,相同價格)的情況下,訂單是任意的,但您可以新增更多準則以進行更深入的排序。 您可以用來測試此範例的表示式如下:

{
    "search": "seattle condo",
    "count": true,
    "select": "listingId, price, beds, baths, description",
    "filter": "beds gt 3",
    "orderby": "price asc"
}

結果

Screenshot of a sorting example.

重要心得

在本快速入門中,您已使用 搜尋總管 來使用 REST API 查詢索引。

  • 結果會以詳細資訊 JSON 檔的形式傳回,讓您可以完整檢視檔建構和內容。 select查詢表達式中的 參數可以限制傳回哪些欄位。

  • 搜尋結果是由索引中標示為「可擷取」的所有欄位所組成。 選取相鄰 的 [字段 ] 索引標籤以檢閱屬性。

  • 關鍵詞搜尋,類似於您在商業網頁瀏覽器中輸入的內容,對於測試用戶體驗很有用。 例如,假設內建的房地產範例索引,您可以輸入 「Seattle Apartments lake washington」,然後使用 Ctrl-F 在搜尋結果中尋找字詞。

  • 查詢和篩選表達式會以 Azure AI 搜尋所實作的語法來表達。 默認值是簡單的 語法,但您可以選擇性地使用 完整的 Lucene 進行更強大的查詢。 篩選表達式 會以 OData 語法來表達。

清除資源

當您在自己的訂用帳戶中工作時,最好在項目結尾決定您仍然需要所建立的資源。 資源若繼續執行,將需付費。 您可以個別刪除資源,或刪除資源群組以刪除整組資源。

您可以使用左側瀏覽窗格中的 [ 所有資源 ] 或 [資源群組 ] 連結,在入口網站中找到和管理資源。

如果您使用免費服務,請記住,您僅限於三個索引、索引器和數據源。 您可以刪除入口網站中的個別專案,以維持在限制之下。

下一步

若要深入瞭解查詢結構和語法,請使用 REST 用戶端來建立使用 API 更多部分的查詢表達式。 搜尋 POST REST API 特別有助於學習和探索。