共用方式為


Azure AI 搜尋中的 moreLikeThis (預覽)

重要

這項功能在補充使用規定下處於公開預覽狀態。 預覽 REST API 支援這項功能。

moreLikeThis=[key]是搜尋檔案 API 中的查詢參數,可尋找類似檔案索引鍵所指定檔的查詢參數。 使用 提出 moreLikeThis搜尋要求時,會從描述該檔的指定檔中擷取搜尋字詞來產生查詢。 然後,產生的查詢會用來提出搜尋要求。 moreLikeThis參數不能與搜尋參數 search=[string]搭配使用。

根據預設,會考慮所有最上層可搜尋欄位的內容。 如果您想要改為指定特定欄位,您可以使用 searchFields 參數。

moreLikeThis複雜型別不支持 參數,而且複雜型別的存在會影響您的查詢邏輯。 如果您的索引是複雜類型,您必須設定 searchFields 為逐一查看的最上層可搜尋欄位 moreLikeThis 。 例如,如果索引具有 類型的Edm.String可搜尋 ,而且field2這是具有可field1搜尋子欄位的複雜型別,則必須將的值searchFields設定為 field1 以排除 field2

範例

下列所有範例都使用快速入門中的旅館範例:在 Azure 入口網站 中建立搜尋索引。

簡單查詢

下列查詢會尋找其描述欄位最類似於參數所 moreLikeThis 指定原始檔的欄位的檔案:

GET /indexes/hotels-sample-index/docs?moreLikeThis=29&searchFields=Description&api-version=2024-05-01-preview

在此範例中,要求會搜尋與 HotelId 29類似的旅館。 您也可以使用 HTTP POST 來叫 MoreLikeThis 用 ,而不是使用 HTTP GET:

POST /indexes/hotels-sample-index/docs/search?api-version=2024-05-01-preview
    {
      "moreLikeThis": "29",
      "searchFields": "Description"
    }

套用篩選

MoreLikeThis 可以與其他常見的查詢參數結合,例如 $filter。 例如,查詢只能限制為類別為「預算」且評等高於 3.5 的旅館:

GET /indexes/hotels-sample-index/docs?moreLikeThis=20&searchFields=Description&$filter=(Category eq 'Budget' and Rating gt 3.5)&api-version=2024-05-01-preview

選取欄位並限制結果

選取 $top 器可用來限制查詢中 MoreLikeThis 應該傳回的結果數量。 此外,也可以使用 來選取 $select欄位。 在這裡,會選取前三名旅館及其標識符、名稱和評等:

GET /indexes/hotels-sample-index/docs?moreLikeThis=20&searchFields=Description&$filter=(Category eq 'Budget' and Rating gt 3.5)&$top=3&$select=HotelId,HotelName,Rating&api-version=2024-05-01-preview

下一步

您可以針對此練習使用任何 REST 用戶端。