Documents - Autocomplete Get
根據索引中的輸入文字和比對字詞,自動完成不完整的查詢字詞。
GET {endpoint}/indexes('{indexName}')/docs/search.autocomplete?api-version=2024-07-01&search={search}&suggesterName={suggesterName}
GET {endpoint}/indexes('{indexName}')/docs/search.autocomplete?api-version=2024-07-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。 |
index
|
path | True |
string |
索引的名稱。 |
api-version
|
query | True |
string |
用戶端 API 版本。 |
search
|
query | True |
string |
應該自動完成的不完整字詞。 |
suggester
|
query | True |
string |
建議工具的名稱,如建議工具集合中所指定,屬於索引定義的一部分。 |
$filter
|
query |
string |
OData 表達式,篩選用來為自動完成結果產生已完成字詞的檔。 |
|
$top
|
query |
integer int32 |
要擷取的自動完成字詞數目。 這必須是介於 1 到 100 之間的值。 預設值為 5。 |
|
autocomplete
|
query |
指定自動完成的模式。 預設值為 『oneTerm』。 使用 'twoTerms' 取得 shingles 和 'oneTermWithContext',以在產生自動完成的字詞時使用目前的內容。 |
||
fuzzy
|
query |
boolean |
值,指出是否要使用自動完成查詢的模糊比對。 默認值為 false。 當設定為 true 時,即使搜尋文字中有替代字元或遺漏字元,查詢還是會尋找字詞。 雖然這在某些案例中提供較佳的體驗,但效能成本會因為模糊自動完成查詢速度較慢且耗用更多資源。 |
|
highlight
|
query |
string |
附加至叫用醒目提示的字串標記。 必須使用 highlightPreTag 進行設定。 如果省略,叫用醒目提示會停用。 |
|
highlight
|
query |
string |
在叫用醒目提示前面加上的字串標記。 必須使用 highlightPostTag 進行設定。 如果省略,叫用醒目提示會停用。 |
|
minimum
|
query |
number double |
介於 0 到 100 之間的數位,表示自動完成查詢必須涵蓋的索引百分比,以便將查詢回報為成功。 此參數對於確保搜尋可用性,即使是只有一個複本的服務,也很有用。 預設值為80。 |
|
search
|
query |
string[] |
查詢自動完成字詞時要考慮的功能變數名稱清單。 目標欄位必須包含在指定的建議工具中。 |
要求標頭
名稱 | 必要 | 類型 | Description |
---|---|---|---|
x-ms-client-request-id |
string uuid |
隨要求一起傳送的追蹤標識碼,以協助偵錯。 |
回應
名稱 | 類型 | Description |
---|---|---|
200 OK |
包含完成部分輸入的建議查詢字詞的回應。 |
|
Other Status Codes |
錯誤回應。 |
範例
SearchIndexAutocompleteDocumentsGet
範例要求
GET https://myservice.search.windows.net/indexes('myindex')/docs/search.autocomplete?api-version=2024-07-01&search=washington medic&suggesterName=sg&autocompleteMode=oneTerm&fuzzy=False&highlightPostTag=</em>&highlightPreTag=<em>&minimumCoverage=80&searchFields=title,description
範例回覆
[
{
"text": "medicaid",
"queryPlusText": "washington medicaid"
},
{
"text": "medicare",
"queryPlusText": "washington medicare"
},
{
"text": "medicine",
"queryPlusText": "washington medicine"
}
]
定義
名稱 | Description |
---|---|
Autocomplete |
自動完成要求的結果。 |
Autocomplete |
指定自動完成的模式。 預設值為 『oneTerm』。 使用 'twoTerms' 取得 shingles 和 'oneTermWithContext',以在產生自動完成字詞時使用目前的內容。 |
Autocomplete |
自動完成查詢的結果。 |
Error |
資源管理錯誤其他資訊。 |
Error |
錯誤詳細數據。 |
Error |
錯誤回應 |
AutocompleteItem
自動完成要求的結果。
名稱 | 類型 | Description |
---|---|---|
queryPlusText |
string |
查詢以及已完成的字詞。 |
text |
string |
已完成的字詞。 |
AutocompleteMode
指定自動完成的模式。 預設值為 『oneTerm』。 使用 'twoTerms' 取得 shingles 和 'oneTermWithContext',以在產生自動完成字詞時使用目前的內容。
名稱 | 類型 | Description |
---|---|---|
oneTerm |
string |
建議只使用一個字詞。 如果查詢有兩個字詞,則只會完成最後一個字詞。 例如,如果輸入是「華盛頓醫生」,建議的詞彙可能包括「醫療補助」、「醫療保險」和「醫學」。 |
oneTermWithContext |
string |
使用兩個或多個字詞完成查詢中的最後一個字詞,其中最後兩個詞彙是索引中存在的片語。 例如,如果輸入是「華盛頓醫生」,建議的詞彙可能包括「華盛頓醫療補助」和「華盛頓醫療」。 |
twoTerms |
string |
將會建議在索引中比對兩個字詞的片語。 例如,如果輸入為「醫療」,建議的字詞可能包括「醫療保險」和「醫療助理」。 |
AutocompleteResult
自動完成查詢的結果。
名稱 | 類型 | Description |
---|---|---|
@search.coverage |
number |
值,指出自動完成要求所考慮的索引百分比,如果要求中未指定minimumCoverage,則為 null。 |
value |
傳回的自動完成項目清單。 |
ErrorAdditionalInfo
資源管理錯誤其他資訊。
名稱 | 類型 | Description |
---|---|---|
info |
object |
其他資訊。 |
type |
string |
其他信息類型。 |
ErrorDetail
錯誤詳細數據。
名稱 | 類型 | Description |
---|---|---|
additionalInfo |
錯誤其他資訊。 |
|
code |
string |
錯誤碼。 |
details |
錯誤詳細數據。 |
|
message |
string |
錯誤訊息。 |
target |
string |
錯誤目標。 |
ErrorResponse
錯誤回應
名稱 | 類型 | Description |
---|---|---|
error |
error 物件。 |