Share via


Documents - Autocomplete Get

根據索引中的輸入文字和相符字詞自動完成不完整的查詢字詞。

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

URI 參數

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

string

搜尋服務的端點 URL。

indexName
path True

string

索引的名稱。

api-version
query True

string

用戶端 API 版本。

search
query True

string

應該自動完成的不完整字詞。

suggesterName
query True

string

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

$filter
query

string

OData 表達式,篩選用來產生自動完成結果之完整詞彙的檔。

$top
query

integer

int32

要擷取的自動完成字詞數目。 這必須是介於 1 到 100 之間的值。 預設值為 5。

autocompleteMode
query

AutocompleteMode

指定自動完成的模式。 預設值為 『oneTerm』。 使用 'twoTerms' 取得 shingles 和 'oneTermWithContext',以在產生自動完成的字詞時使用目前的內容。

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

AutocompleteResult

包含完成部分輸入的建議查詢字詞的回應。

Other Status Codes

SearchError

錯誤回應。

範例

SearchIndexAutocompleteDocumentsGet

Sample Request

GET https://myservice.search.windows.net/indexes('myindex')/docs/search.autocomplete?api-version=2023-11-01&search=washington medic&suggesterName=sg&autocompleteMode=oneTerm&fuzzy=False&highlightPostTag=</em>&highlightPreTag=<em>&minimumCoverage=80&searchFields=title,description

Sample Response

[
  {
    "text": "medicaid",
    "queryPlusText": "washington medicaid"
  },
  {
    "text": "medicare",
    "queryPlusText": "washington medicare"
  },
  {
    "text": "medicine",
    "queryPlusText": "washington medicine"
  }
]

定義

名稱 Description
AutocompleteItem

自動完成要求的結果。

AutocompleteMode

指定自動完成的模式。 預設值為 『oneTerm』。 使用 'twoTerms' 取得 shingles 和 'oneTermWithContext',以在產生自動完成字詞時使用目前的內容。

AutocompleteResult

自動完成查詢的結果。

SearchError

描述 API 的錯誤狀況。

AutocompleteItem

自動完成要求的結果。

名稱 類型 Description
queryPlusText

string

查詢以及已完成的字詞。

text

string

完成的字詞。

AutocompleteMode

指定自動完成的模式。 預設值為 『oneTerm』。 使用 'twoTerms' 取得 shingles 和 'oneTermWithContext',以在產生自動完成字詞時使用目前的內容。

名稱 類型 Description
oneTerm

string

建議只使用一個字詞。 如果查詢有兩個詞彙,則只會完成最後一個字詞。 例如,如果輸入為「華盛頓州」,建議的字詞可能包括「治療」、「藥物區」和「藥物」。

oneTermWithContext

string

使用兩個或多個字詞完成查詢中的最後一個字詞,其中最後兩個詞彙是索引中存在的片語。 例如,如果輸入為「華盛頓特區」,建議的字詞可能包括「華盛頓特區」和「華盛頓醫療」。

twoTerms

string

系統會建議在索引中比對兩個字詞的片語。 例如,如果輸入為 『medical』,建議的字詞可能包括「醫療涵蓋範圍」和「醫療 助理」。

AutocompleteResult

自動完成查詢的結果。

名稱 類型 Description
@search.coverage

number

值,指出自動完成要求所考慮的索引百分比,如果要求中未指定minimumCoverage,則為 null。

value

AutocompleteItem[]

傳回的自動完成項目清單。

SearchError

描述 API 的錯誤狀況。

名稱 類型 Description
code

string

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

details

SearchError[]

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

message

string

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