共用方式為


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

本快速入門將說明如何使用 Azure 入口網站中內建的查詢工具搜尋總管,可針對 Azure AI 搜尋服務內的搜尋索引執行查詢。 此工具可用於測試查詢或篩選條件運算式,或確認該索引是否有特定內容。

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

必要條件

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

  • 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶

  • Azure AI 搜尋服務。 在目前的訂閱下,建立服務尋找現有的服務。 您可以使用本快速入門的免費服務。

  • 本快速入門會使用 realestate-us-sample-index。 若要建立索引,請使用匯入資料精靈、選擇內建的範例資料,然後完全以預設值按照精靈的步驟操作。

    [匯入數據精靈] 中可用範例數據集的螢幕快照。

開啟 [搜尋總管]

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

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

    入口網站中 [搜尋總管] 命令的螢幕快照。

    或者,在開啟的索引上使用內嵌的 [搜尋總管] 索引標籤:

    [搜尋總管] 索引卷標的螢幕快照。

查詢的兩種方式

在搜尋總管內進行查詢有兩種方法。

  • 查詢檢視會提供預設的搜尋列。 它會接受具有布爾值的空白查詢或任意文字查詢。 例如: seattle condo +parking

  • JSON 檢視支援參數化查詢。 Filters、orderby、select、count、searchFields 和所有其他參數都必須在 JSON 檢視內進行設定。

    提示

    JSON 檢視提供參數名稱完成的 Intellisense。 將游標放在 JSON 檢視內,並輸入空格字元以顯示所有查詢參數的清單,或輸入單一字母,例如 “s”,只顯示以 “s” 開頭的查詢參數。 Intellisense 不會排除無效的參數,因此請使用您最好的判斷。

    切換至 JSON 檢視以進行參數化查詢。 本文範例全面以 JSON 檢視呈現。 您可將本文的 JSON 範例貼上到文字區域。

    JSON 檢視選取器的螢幕快照。

執行未指定查詢

在搜尋總管中,POST 要求內部會使用 Search POST REST API 來編寫,並以詳細 JSON 文件的形式傳回回應。

若要率先一睹內容,請執行空的搜尋,方法是按一下 [搜尋] 且不提供任何字詞。 空的搜尋作為第一個查詢很有用,因為它會傳回整個文件,以便您可以檢閱文件組合。 空的搜尋不會有任何搜尋分數,而且會以任意順序傳回文件 (所有文件皆為 "@search.score": 1)。 根據預設,會傳回搜尋要求中的 50 份文件。

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

{
   "search": "*"
}

結果

未限定或空白查詢範例

自由格式查詢 (包含或不包含運算子) 可用於模擬從自訂應用程式傳送至 Azure AI 搜尋服務的使用者定義查詢。 只有其屬性在索引定義中為 "searchable" 的欄位,才能進行掃描以尋找相符項目。

任意文字查詢無須使用 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" 以將結果限制為明確具名欄位,以便搜尋總管中的輸出更容易讀取。 只有搜尋索引內標為 "retrievable" 的欄位會顯示在結果中。

{
   "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 參數來指定包含或排除準則。 欄位在索引中的屬性必須為 "filterable"。 此範例會搜尋大於 3 的臥室數目:

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

結果

篩選範例的螢幕快照。

排序結果

新增 orderby 以依照搜尋分數以外的其他欄位對結果進行排序。 欄位在索引中的屬性必須為 "sortable"。 若經篩選的值相同 (如相同價格),則這些項目會任意排序,但您可增加其他準則,以更精細的方式進行排序。 可用來測試此輸出的範例運算式是:

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

結果

排序範例的螢幕快照。

重要心得

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

  • 結果會以詳細的 JSON 文件傳回,以便您可以完整地查看文檔構造和內容。 查詢運算式中的 select 參數可以限制要傳回的欄位。

  • 搜尋結果是由索引中標記為 "retrievable" 的所有欄位組成。 點選旁邊的 [欄位] 分頁即可檢閱屬性。

  • 關鍵字搜尋類似於您在商業 Web 瀏覽器中輸入的內容,適合用於測試使用者體驗。 比方說,假設內建的房地產範例索引,您可以輸入 "Seattle apartments lake washington",然後您可以使用 Ctrl-F 在搜尋結果中尋找字詞。

  • 查詢和篩選條件運算式會以 Azure AI 搜尋服務所實作的語法表達。 預設值是簡單語法,但您可以選擇使用完整 Lucene 功能進行更強大的查詢。 篩選條件運算式是以 OData 語法表達。

清除資源

使用您自己的訂用帳戶時,建議在專案結束後確認您是否仍需要您建立的資源。 資源若繼續執行,將需付費。 您可以個別刪除資源,或刪除資源群組以刪除整組資源。

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

如果您使用免費服務,請記住您會有三個索引、索引子和資料來源的限制。 您可以在入口網站中刪除個別項目,以避免超出限制。

下一步

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