共用方式為


Documents - Suggest Post

建議索引中符合指定部分查詢文字的檔。

POST {endpoint}/indexes('{indexName}')/docs/search.post.suggest?api-version=2023-10-01-Preview

URI 參數

名稱 位於 必要 類型 Description
endpoint
path True

string

搜尋服務的端點 URL。

indexName
path True

string

索引的名稱。

api-version
query True

string

用戶端 API 版本。

要求標頭

名稱 必要 類型 Description
x-ms-client-request-id

string

uuid

使用要求傳送的追蹤標識碼,以協助偵錯。

要求本文

名稱 必要 類型 Description
search True

string

用來建議檔的搜尋文字。 必須至少 1 個字元,而且不能多於 100 個字元。

suggesterName True

string

建議工具的名稱,如屬於索引定義的建議工具集合中所指定。

filter

string

OData 表達式,可篩選考慮提供建議的檔。

fuzzy

boolean

值,指出是否針對建議查詢使用模糊比對。 預設值為 false。 當設定為 true 時,即使搜尋文字中有替代字元或遺漏字元,查詢仍會尋找建議。 此設定有時雖可提供較佳的使用經驗,但效能卻會因此受影響,因為模糊建議搜尋的速度較慢,且耗用較多資源。

highlightPostTag

string

附加至點擊醒目提示的字串標籤。 必須以 highlightPreTag 設定。 如果省略,則會停用建議的點擊醒目提示。

highlightPreTag

string

在點擊醒目提示前面加上的字串標籤。 必須使用 highlightPostTag 來設定。 如果省略,則會停用建議的點擊醒目提示。

minimumCoverage

number

介於 0 到 100 之間的數位,指出建議查詢必須涵蓋的索引百分比,以便讓查詢回報為成功。 此參數有助於確保搜尋可用性,即使只有一個複本的服務也一定有效。 預設值為80。

orderby

string

OData 的逗號分隔清單$orderby用來排序結果的表達式。 每個運算式可以是功能變數名稱或對 geo.distance () 或 search.score () 函式的呼叫。 每個表達式後面可以接著 asc 來表示遞增,或 desc 表示遞減。 預設值為遞增排序。 繫結將透過文件的相符分數來中斷。 如果未指定任何$orderby,預設排序順序會依檔比對分數遞減。 最多可以有 32 個$orderby子句。

searchFields

string

要搜尋指定搜尋文字的功能變數名稱逗號分隔清單。 目標欄位必須包含在指定的建議工具中。

select

string

要擷取的欄位逗號分隔清單。 如果未指定,則只會將索引鍵字段包含在結果中。

top

integer

要擷取的建議數目。 這必須是介於 1 到 100 之間的值。 預設值為 5。

回應

名稱 類型 Description
200 OK

SuggestDocumentsResult

包含符合部分輸入之建議文件的回應。

Other Status Codes

SearchError

錯誤回應。

範例

SearchIndexSuggestDocumentsPost

範例要求

POST https://myservice.search.windows.net/indexes('myindex')/docs/search.post.suggest?api-version=2023-10-01-Preview

{
  "filter": "rating gt 4.0",
  "highlightPostTag": "</em>",
  "highlightPreTag": "<em>",
  "minimumCoverage": 80,
  "orderby": "rating desc",
  "search": "hote",
  "searchFields": "title",
  "select": "docId,title,description",
  "suggesterName": "sg",
  "top": 10
}

範例回覆

{
  "value": [
    {
      "@search.text": "Nice <em>Hotel</em>",
      "description": "Cheapest hotel in town",
      "docId": "1",
      "title": "Nice Hotel"
    },
    {
      "@search.text": "Fancy <em>Hotel</em>",
      "description": "Best hotel in town",
      "docId": "2",
      "title": "Fancy Hotel"
    }
  ]
}

定義

名稱 Description
SearchError

描述 API 的錯誤狀況。

SuggestDocumentsResult

包含索引建議查詢結果的回應。

SuggestRequest

篩選、排序、模糊比對和其他建議查詢行為的參數。

SuggestResult

包含建議查詢所找到文件的結果,加上相關聯的元數據。

SearchError

描述 API 的錯誤狀況。

名稱 類型 Description
code

string

其中一組伺服器定義的錯誤碼。

details

SearchError[]

導致此錯誤之特定錯誤的詳細數據陣列。

message

string

人類可讀取的錯誤表示法。

SuggestDocumentsResult

包含索引建議查詢結果的回應。

名稱 類型 Description
@search.coverage

number

值,指出查詢中包含的索引百分比,如果要求中未設定 minimumCoverage,則為 null。

value

SuggestResult[]

查詢傳回的結果序列。

SuggestRequest

篩選、排序、模糊比對和其他建議查詢行為的參數。

名稱 類型 Description
filter

string

OData 表達式,可篩選考慮提供建議的檔。

fuzzy

boolean

值,指出是否針對建議查詢使用模糊比對。 預設值為 false。 當設定為 true 時,即使搜尋文字中有替代字元或遺漏字元,查詢仍會尋找建議。 此設定有時雖可提供較佳的使用經驗,但效能卻會因此受影響,因為模糊建議搜尋的速度較慢,且耗用較多資源。

highlightPostTag

string

附加至點擊醒目提示的字串標籤。 必須以 highlightPreTag 設定。 如果省略,則會停用建議的點擊醒目提示。

highlightPreTag

string

在點擊醒目提示前面加上的字串標籤。 必須使用 highlightPostTag 來設定。 如果省略,則會停用建議的點擊醒目提示。

minimumCoverage

number

介於 0 到 100 之間的數位,指出建議查詢必須涵蓋的索引百分比,以便讓查詢回報為成功。 此參數有助於確保搜尋可用性,即使只有一個複本的服務也一定有效。 預設值為80。

orderby

string

OData 的逗號分隔清單$orderby用來排序結果的表達式。 每個運算式可以是功能變數名稱或對 geo.distance () 或 search.score () 函式的呼叫。 每個表達式後面可以接著 asc 來表示遞增,或 desc 表示遞減。 預設值為遞增排序。 繫結將透過文件的相符分數來中斷。 如果未指定任何$orderby,預設排序順序會依檔比對分數遞減。 最多可以有 32 個$orderby子句。

search

string

用來建議檔的搜尋文字。 必須至少 1 個字元,而且不能多於 100 個字元。

searchFields

string

要搜尋指定搜尋文字的功能變數名稱逗號分隔清單。 目標欄位必須包含在指定的建議工具中。

select

string

要擷取的欄位逗號分隔清單。 如果未指定,則只會將索引鍵字段包含在結果中。

suggesterName

string

建議工具的名稱,如屬於索引定義的建議工具集合中所指定。

top

integer

要擷取的建議數目。 這必須是介於 1 到 100 之間的值。 預設值為 5。

SuggestResult

包含建議查詢所找到文件的結果,加上相關聯的元數據。

名稱 類型 Description
@search.text

string

建議結果的文字。