Share via


Documents - Suggest Get

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

GET {endpoint}/indexes('{indexName}')/docs/search.suggest?search={search}&suggesterName={suggesterName}&api-version=2023-11-01
GET {endpoint}/indexes('{indexName}')/docs/search.suggest?search={search}&suggesterName={suggesterName}&$filter={$filter}&fuzzy={fuzzy}&highlightPostTag={highlightPostTag}&highlightPreTag={highlightPreTag}&minimumCoverage={minimumCoverage}&$orderby={$orderby}&searchFields={searchFields}&$select={$select}&$top={$top}&api-version=2023-11-01

URI 參數

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

string

搜尋服務的端點 URL。

indexName
path True

string

索引的名稱。

api-version
query True

string

用戶端 API 版本。

search
query True

string

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

suggesterName
query True

string

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

$filter
query

string

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

$orderby
query

string[]

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

$select
query

string[]

要擷取的欄位清單。 如果未指定,則結果中只會包含索引鍵欄位。

$top
query

integer

int32

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

fuzzy
query

boolean

值,指出是否要針對建議查詢使用模糊比對。 預設值為 false。 當設定為 true 時,即使搜尋文字中有替代字元或遺漏字元,查詢還是會尋找字詞。 雖然這在某些案例中提供較佳的體驗,但因為模糊建議查詢速度較慢,且耗用更多資源,因此會產生效能成本。

highlightPostTag
query

string

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

highlightPreTag
query

string

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

minimumCoverage
query

number

double

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

searchFields
query

string[]

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

要求標頭

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

string

uuid

與要求一起傳送的追蹤標識碼,以協助偵錯。

回應

名稱 類型 Description
200 OK

SuggestDocumentsResult

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

Other Status Codes

SearchError

錯誤回應。

範例

SearchIndexSuggestDocumentsGet

Sample Request

GET https://myservice.search.windows.net/indexes('myindex')/docs/search.suggest?search=hote&suggesterName=sg&$filter=rating gt 10&fuzzy=False&highlightPostTag=</em>&highlightPreTag=<em>&minimumCoverage=80&$orderby=search.score() desc,rating desc&searchFields=title&$select=docId,title,description&$top=10&api-version=2023-11-01

Sample Response

{
  "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

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

SuggestResult

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

SearchError

描述 API 的錯誤狀況。

名稱 類型 Description
code

string

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

details

SearchError[]

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

message

string

人類看得懂的錯誤表示法。

SuggestDocumentsResult

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

名稱 類型 Description
@search.coverage

number

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

value

SuggestResult[]

查詢所傳回的結果序列。

SuggestResult

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

名稱 類型 Description
@search.text

string

建議結果的文字。