共用方式為


Documents - Autocomplete Post

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

POST {endpoint}/indexes('{indexName}')/docs/search.post.autocomplete?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

要根據自動完成結果的搜尋文字。

suggesterName True

string

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

autocompleteMode

AutocompleteMode

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

filter

string

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

fuzzy

boolean

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

highlightPostTag

string

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

highlightPreTag

string

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

minimumCoverage

number

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

searchFields

string

查詢自動完成字詞時要考慮的功能變數名稱逗號分隔清單。 目標欄位必須包含在指定的建議工具中。

top

integer

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

回應

名稱 類型 Description
200 OK

AutocompleteResult

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

Other Status Codes

SearchError

錯誤回應。

範例

SearchIndexAutocompleteDocumentsPost

範例要求

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

{
  "autocompleteMode": "oneTerm",
  "search": "washington medic",
  "suggesterName": "sg",
  "filter": "search.in(docId,'101,102,105')",
  "highlightPostTag": "</em>",
  "highlightPreTag": "<em>",
  "minimumCoverage": 80,
  "searchFields": "title,description",
  "top": 10
}

範例回覆

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

定義

名稱 Description
AutocompleteItem

自動完成要求的結果。

AutocompleteMode

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

AutocompleteRequest

模糊比對和其他自動完成查詢行為的參數。

AutocompleteResult

自動完成查詢的結果。

SearchError

描述 API 的錯誤狀況。

AutocompleteItem

自動完成要求的結果。

名稱 類型 Description
queryPlusText

string

查詢以及完成的字詞。

text

string

完成的字詞。

AutocompleteMode

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

名稱 類型 Description
oneTerm

string

只建議一個字詞。 如果查詢有兩個詞彙,則只會完成最後一個字詞。 例如,如果輸入為 「washington],則建議的字詞可能包括 「醫生」、「醫師區域」和「藥物」。

oneTermWithContext

string

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

twoTerms

string

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

AutocompleteRequest

模糊比對和其他自動完成查詢行為的參數。

名稱 類型 Description
autocompleteMode

AutocompleteMode

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

filter

string

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

fuzzy

boolean

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

highlightPostTag

string

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

highlightPreTag

string

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

minimumCoverage

number

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

search

string

要根據自動完成結果的搜尋文字。

searchFields

string

查詢自動完成字詞時要考慮的功能變數名稱逗號分隔清單。 目標欄位必須包含在指定的建議工具中。

suggesterName

string

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

top

integer

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

AutocompleteResult

自動完成查詢的結果。

名稱 類型 Description
@search.coverage

number

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

value

AutocompleteItem[]

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

SearchError

描述 API 的錯誤狀況。

名稱 類型 Description
code

string

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

details

SearchError[]

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

message

string

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