使用本文將搜尋服務 REST API和搜尋管理 REST API移轉至較新版本,以支援數據平面和控制平面的作業。
以下是最新版的 REST API:
| 針對性運作 | REST API | 地位 |
|---|---|---|
| 數據平面 | 2025-09-01 |
穩定 |
| 數據平面 | 2025-11-01-preview |
預覽 |
| 控制平面 | 2025-05-01 |
穩定 |
| 控制平面 | 2025-02-01-preview |
預覽 |
升級指示著重於程式碼變更,讓您完成舊版的重大變更,使得現有的程式碼可如同之前般執行,但在較新的 API 版本上執行。 一旦程式碼正常運作,您就可以決定是否採用較新的功能。 想了解更多新功能,請參閱 「最新消息」。
建議您連續升級 API 版本,逐步升級每個版本,直到升級到最新的版本為止。
2023-07-01-preview 是用於向量支援的第一個 REST API。
請勿使用此 API 版本。 它現在已被取代,而您應該立即移轉至穩定或較新的預覽版 REST API。
附註
REST API 參考文件現在已經版本化。 針對特定版本的內容,請打開參考頁面,然後使用目錄上方的選擇器選擇你的版本。
升級時機
Azure AI 搜尋服務會中斷回溯相容性作為最後手段。 需要升級的情況如下:
您的程式碼參考了一個已淘汰或不支援的 API 版本,且可能會受到一或多項重大變更的影響。 如果您的程式碼鎖定
2025-11-01-preview用於 Agent 擷取、鎖定2025-05-01-preview用於知識代理程式、鎖定2023-07-10-preview用於向量、鎖定2020-06-01-preview用於語意排名工具,以及鎖定2019-05-06用於過時的技能和解決方法,那麼您必須因應中斷性變更。您的程式碼在 API 回應中傳回無法辨認的屬性時失敗。 根據最佳做法,您的應用程式應該會略過不了解的屬性。
您的程式碼仍然存在 API 要求,並嘗試將它們重新傳送給新的 API 版本。 例如,發生原因可能是您的應用程式持續保存搜尋服務 API 所傳回的接續 Token (如需詳細資訊,請在
@search.nextPageParameters) 中查找 。
如何升級
如果您要升級數據平面版本,請檢閱新 API 版本的 版本資訊 。
將要求標頭中指定的
api-version參數更新為較新版本。在直接呼叫 REST API 的應用程式程式碼中,搜尋現有版本的所有執行個體,然後將其取代為新版本。 如需建構 REST 呼叫的詳細資訊,請參閱 快速入門:使用 REST 進行全文搜索。
如果你使用 Azure SDK,每個套件都會針對特定版本的 REST API。 要判斷你的套件支援哪個 REST API 版本,請查看它的變更日誌。 更新到最新的套件版本以取得最新功能與 API 改進。
如果您要升級數據平面版本,請檢閱本文所述的重大變更,並實作因應措施。 從您的程式碼所用的版本開始,解決每個較新 API 版本的任何重大變更,直到您到達最新的穩定或預覽版本為止。
重大突破性變更
下列重大變更適用於數據作業。
自主檢索的重大變更
最新的 2025-11-01-preview 版本重構了知識代理(bases)、知識來源及擷取動作的 API。 最新的 2025-11-01-preview 版本將知識代理重新命名為知識庫,並重新定位了多個屬性。 部分屬性會被替換或移至其他物件。
如需重大變更的說明,請參閱移轉您的 Agent 擷取程式碼。
知識代理程式的重大變更
知識代理程式已在 2025-05-01-preview 中引入。 在 2025-08-01-preview中 targetIndexes ,被一個新的知識來源物件取代,並 defaultMaxDocsForReranker 被其他 API 取代。 在2025-11-01-preview中引入了更多破壞性變更。
如需重大變更的說明,請參閱移轉您的 Agent 擷取程式碼。
讀取連線資訊的用戶端程序代碼重大變更
自 2024 年 3 月 29 日起生效並適用於所有支援的 REST API:
GET Skillset、GET Index 和 GET Indexer 不再會於回應中傳回索引鍵或連接屬性。 如果您有下游程式碼會從 GET 回應讀取金鑰或連線(敏感性資料),這是一項重大改變。
如果您需要擷取搜尋服務的管理員或查詢 API 金鑰,請使用 搜尋管理 REST API。
如果您需要擷取另一個 Azure 資源 (例如 Azure 儲存體或 Azure Cosmos DB) 的連接字串,請使用該資源的 API 和已發佈的指導來取得資訊。
語意排名工具的中斷性變更
語意排名器 已正式推出於2023-11-01。 舊版中有中斷性變更:
在
2020-06-01-preview之後的所有版本中:semanticConfiguration取代了searchFields作為指定用於 L2 排名的欄位的機制。對於所有 API 版本,2023 年 7 月 14 日對 Microsoft 裝載的語意模型的更新使語意排名工具與語言無關,有效地停用了
queryLanguage屬性。 程式碼中沒有「重大變更」,但該屬性被忽略。
請參閱從預覽版本移轉以將您的程式碼轉換為使用 semanticConfiguration。
資料平面升級
升級指引假設從最新版本升級。 如果您的程式代碼是以舊版 API 為基礎,建議您透過每個後續版本升級,以取得最新版本。
升級至 2025-11-01 預覽版
2025-11-01-preview 引入了下列 Agent 擷取的中斷性變更,如在 2025-08-01-preview 中實作:
- 將
agents取代為knowledgebases。 與知識來源相關的多個屬性從知識庫定義中移出,轉而進入檢索動作。 - 知識來源屬性經過重構,並實作了一個新的
ingestionParameters物件,用於產生索引子管線的知識來源。
欲了解更多變更與程式碼遷移資訊,請參閱 2025-11-01 預覽中的重大變更 及 如何遷移。
對於其他所有現有的 API,行為都沒有變更。 您可以在新的 API 版本中交換 ,而且程式代碼的執行方式與之前相同。
升級至 2025年09月01日
2025-09-01 是最新的穩定 REST API 版本,它新增了 OneLake 索引子、檔配置技能和其他 API 的正式可用性。
如果您從 2024-07-01 升級且未使用任何預覽功能,則不會發生重大變更。 若要使用新的穩定版本,請變更 API 版本並測試您的程式碼。
升級至 2025-08-01-preview
2025-08-01-preview 對使用 2025-05-01-preview 建立的知識代理程式引入了以下重大變更:
- 將
targetIndexes取代為knowledgeSources。 - 移除
defaultMaxDocsForReranker,而不進行取代。
除此之外,現有 API 的行為不會變更。 您可以在新的 API 版本中交換 ,而且程式代碼的執行方式與之前相同。
升級至 2025-05-01-preview
2025-05-01-preview 提供新功能,但現有 API 上沒有任何行為變更。 您可以在新的 API 版本中交換 ,而且程式代碼的執行方式與之前相同。
升級至 2025-03-01-preview
2025-03-01-preview 提供新功能,但現有 API 上沒有任何行為變更。 您可以在新的 API 版本中交換 ,而且程式代碼的執行方式與之前相同。
升級至 2024-11-01-preview
2024-11-01-preview 查詢重寫、文件版面配置技能、技能處理的無金鑰計費、Markdown 剖析模式,以及壓縮向量的重新評分選項。
如果您要從 2024-09-01-preview升級,您可以在新的 API 版本中交換 ,而且程式代碼的執行方式與之前相同。
不過,新版本引進的語法變更為 vectorSearch.compressions:
- 將
rerankWithOriginalVectors替換為enableRescoring - 將
defaultOversampling移至新的rescoringOptions屬性物件
回溯相容性會因為內部 API 對應而保留,但如果您採用新的預覽版本,建議您變更語法。 如需語法的比較,請參閱 使用純量或二進位量化壓縮向量。
升級至 2024-09-01 預覽版
2024-09-01-preview 新增適用於 text-embedding-3 模型的 Matryoshka 表示法學習 (MRL) 壓縮、混合式查詢的目標向量篩選、用於偵錯的向量子核心詳細資料,以及文字分割技能的權杖區塊化。
如果您要從 2024-05-01-preview升級,您可以在新的 API 版本中交換 ,而且程式代碼的執行方式與之前相同。
升級至 2024-07-01
2024-07-01 是一般版本。 先前的預覽功能現已正式推出:整合式區塊化和向量化(文字分割技能、AzureOpenAIEmbedding技能)、基於AzureOpenAIEmbedding的查詢向量化工具、向量壓縮(純量量化、二進位量化、預存屬性、窄資料類型)。
如果您從 2024-05-01-preview 升級為穩定,則不會有任何重大變更。 若要使用新的穩定版本,請變更 API 版本並測試您的程式碼。
如果您直接從 2023-11-01 升級,就會出現重大變更。 遵循每個較新預覽版所述的步驟,從 2023-11-01 移轉至 2024-07-01。
升級至 2024 年 5 月 1 日預覽版
2024-05-01-preview 增加了適用於 Microsoft OneLake、二進位向量及更多嵌入式模型的索引器。
如果您從 2024-03-01-preview 升級,AzureOpenAIEmbedding 技能現在需要模型名稱和維度屬性。
在您的程式碼基底中搜尋 AzureOpenAIEmbedding 參考。
將
modelName設為 "text-embedding-ada-002" 並將dimensions設為 "1536"。
升級至 2024-03-01 預覽版
2024-03-01-preview 新增了窄資料類型、純量量化和向量儲存選項。
如果您從 2023-10-01-preview 升級,則不會有任何重大變更。 不過,有一個行為差異:對於 2023-11-01 及更新的預覽版,vectorFilterMode中的 預設值已從 postfilter 變更為 prefilter。
在您的程式碼基底中搜尋
vectorFilterMode參考。如果明確設定該屬性,則無需執行任何動作。 如果您依賴預設值,新的預設行為會在查詢執行 之前 進行篩選。 如果您想要進行後查詢篩選,請明確將
vectorFilterMode設為 postfilter 以保留舊的行為。
升級至 2023-11-01
2023-11-01 是一般版本。 先前的預覽功能現已正式推出:語意排名器和向量支援。
2023-10-01-preview 沒有任何重大變更,但是從 2023-07-01-preview 到 2023-11-01 有多項重大變更。 如需詳細資訊,請參閱從 2023-07-01-preview 升級。
若要使用新的穩定版本,請變更 API 版本並測試您的程式碼。
升級至 2023-10-01-preview
2023-10-01-preview 是第一個新增「索引編製期間的內建資料區塊化和向量化」和「內建查詢向量化」的預覽版本。 它也支援先前版本的向量索引編製和查詢。
如果您從先前的版本升級,下一節會提供相關的步驟。
從 2023-07-01-preview 升級
請勿使用此 API 版本。 它實作了與任何較新的 API 版本都不相容的向量查詢語法。
2023-07-01-preview 現在已被取代,因此您不應在此版本上建立新程式碼,在任何情況下也不應升級到 此版本。 本節說明從 2023-07-01-preview 到任何較新 API 版本的移轉路徑。
向量索引的入口網站升級
Azure 入口網站支援 2023-07-01-preview 索引的一鍵升級路徑。 它會偵測向量欄位並提供一個 [移轉] 按鈕。
- 移轉路徑是從
2023-07-01-preview到2024-05-01-preview。 - 更新僅限於向量欄位定義和向量搜尋演算法設定。
- 更新是單向。 您無法反轉升級。 升級索引之後,您必須使用
2024-05-01-preview或更新版本來查詢索引。
沒有用於升級向量查詢語法的入口網站移轉。 請參閱程式碼升級以取得查詢語法變更。
選取 [移轉] 之前,請先選取 [編輯 JSON] 以檢閱更新的架構。 您應該會找到符合程式碼升級一節所述變更的結構描述。 入口網站移轉只會使用一個向量搜尋演算法設定來處理索引。 它會建立對應至 2023-07-01-preview 向量搜尋演算法的預設設定檔。 具有多個向量搜尋設定的索引需要手動移轉。
向量索引和查詢的程式碼升級
在建立或更新索引 (2023-07-01-preview) 中引進向量搜尋支援。
從 2023-07-01-preview 升級至任何較新的穩定或預覽版本需要:
- 重新命名和重建索引中的向量設定
- 重寫向量查詢
使用本節中的指示,從 2023-07-01-preview 移轉向量欄位、設定和查詢。
呼叫 Get Index 以擷取現有的定義。
修改向量搜尋組態。
2023-11-01和更新版本引進了將向量相關設定組合在一個名稱下的向量設定檔概念。 較新版本也會將algorithmConfigurations重新命名為algorithms。將
algorithmConfigurations重新命名為algorithms。 這只是陣列的重新命名。 內容具備向後相容性。 這表示您可以使用現有的 HNSW 組態參數。新增
profiles,並為每個項目提供一個名稱與演算法組態。
移轉前 (2023-07-01-preview):
"vectorSearch": { "algorithmConfigurations": [ { "name": "myHnswConfig", "kind": "hnsw", "hnswParameters": { "m": 4, "efConstruction": 400, "efSearch": 500, "metric": "cosine" } } ]}移轉之後 (2023-11-01):
"vectorSearch": { "algorithms": [ { "name": "myHnswConfig", "kind": "hnsw", "hnswParameters": { "m": 4, "efConstruction": 400, "efSearch": 500, "metric": "cosine" } } ], "profiles": [ { "name": "myHnswProfile", "algorithm": "myHnswConfig" } ] }變更向量欄位定義,以
vectorSearchConfiguration取代vectorSearchProfile。 請確定設定檔名稱解析為新的向量設定檔定義,而不是演算法組態名稱。 其他向量欄位屬性保持不變。 例如,它們無法進行篩選、排序或多面向篩選,也無法使用分析工具、正規化工具或同義字映射。之前 (2023-07-01-preview):
{ "name": "contentVector", "type": "Collection(Edm.Single)", "key": false, "searchable": true, "retrievable": true, "filterable": false, "sortable": false, "facetable": false, "analyzer": "", "searchAnalyzer": "", "indexAnalyzer": "", "normalizer": "", "synonymMaps": "", "dimensions": 1536, "vectorSearchConfiguration": "myHnswConfig" }之後 (2023-11-01):
{ "name": "contentVector", "type": "Collection(Edm.Single)", "searchable": true, "retrievable": true, "filterable": false, "sortable": false, "facetable": false, "analyzer": "", "searchAnalyzer": "", "indexAnalyzer": "", "normalizer": "", "synonymMaps": "", "dimensions": 1536, "vectorSearchProfile": "myHnswProfile" }呼叫建立或更新索引來張貼變更。
修改搜尋 POST 以變更查詢語法。 此 API 變更可支援多型向量查詢類型。
- 將
vectors重新命名為vectorQueries。 - 針對每個向量查詢,新增
kind,並將其設定為vector。 - 針對每個向量查詢,請重新命名
value為vector。 - 或者,如果您使用
vectorFilterMode,請新增 。 預設是對2023-10-01之後所建立的索引進行預篩選。 不論您如何設定篩選模式,在該日期前建立的索引都僅支援後置篩選。
之前 (2023-07-01-preview):
{ "search": (this parameter is ignored in vector search), "vectors": [ { "value": [ 0.103, 0.0712, 0.0852, 0.1547, 0.1183 ], "fields": "contentVector", "k": 5 } ], "select": "title, content, category" }之後 (2023-11-01):
{ "search": "(this parameter is ignored in vector search)", "vectorQueries": [ { "kind": "vector", "vector": [ 0.103, 0.0712, 0.0852, 0.1547, 0.1183 ], "fields": "contentVector", "k": 5 } ], "vectorFilterMode": "preFilter", "select": "title, content, category" }- 將
這些步驟會完成移轉至 2023-11-01 穩定 API 版本或較新的預覽 API 版本。
升級至 2020-06-30
在此版本中,有一項重大變更和數種行為差異。 正式推出的功能包括:
- 知識存放區、透過技能集建立的擴充內容持續性儲存區、為下游分析所建立和透過其他應用程式進行處理。 知識存放區是透過 Azure AI 搜尋服務 REST API 建立,但位於 Azure 儲存體中。
重大變更
針對舊版 API 版本撰寫的程式碼若包含下列功能,則會在 2020-06-30 和更新版本上中斷:
- 篩選運算式中的任何
Edm.Date常值 (由年月日期組成的日期,例如2020-12-12),都必須遵循Edm.DateTimeOffset格式:2020-12-12T00:00:00Z。 這是必要變更,以處理因時區差異而造成的錯誤或非預期的查詢結果。
行為變更
BM25 排名演算法會以較新的技術取代先前的排名演算法。 2019 年之後建立的服務會自動使用此演算法。 針對較舊的服務,您必須設定參數以使用新的演算法。
此版本中已變更 Null 值的已排序結果,如果排序為
asc,則會先顯示 Null 值,如果排序為desc,則會最後顯示 Null 值。 如果您編寫程式碼來處理 Null 值的排序方式,請注意這項變更。
升級至 2019-05-06
此 API 版本已正式推出許多功能,包括:
- 自動完成是一種自動提示功能,可完成部分指定字詞輸入。
- 複雜類型可提供搜尋索引中結構化物件資料的原生支援。
- JsonLines 剖析模式是 Azure Blob 索引的一部分,會為每個 JSON 實體建立一個搜尋文件,並以新行字元分隔。
- AI 增強 提供使用 Foundry Tools 的 AI 增強引擎進行索引。
重大突破性變更
針對舊版 API 版本撰寫的程式碼若包含下列功能,則會在 2019-05-06 和更新版本上中斷:
Azure Cosmos DB 的 Type 屬性。 針對以 Azure Cosmos DB for NoSQL API 資料來源為目標的索引子,請將
"type": "documentdb"變更為"type": "cosmosdb"。如果您的索引子錯誤處理包含
status屬性的參考,您應該將其移除。 我們已從錯誤回應中移除狀態,因為它未提供實用的資訊。回應中不再會傳回資料來源連接字串。 自 API 版本
2019-05-06和2019-05-06-Preview起,資料來源 API 已不再於任何 REST 作業的回應中傳回連接字串。 在舊版 API 中,針對使用 POST 建立的資料來源,Azure AI 搜尋服務會傳回 201,後面接著包含純文字連接字串的 OData 回應。具名實體辨識認知技能已淘汰。 如果您在程式碼中呼叫具名實體辨識技能,呼叫會失敗。 取代功能是實體辨識技能 (V3)。 請遵循淘汰的技能中之建議,以移轉至支援的技能。
升級複雜類型
API 版本 2019-05-06 已針對複雜類型新增正式支援。 如果您的程式碼在 2017-11-11-Preview 或 2016-09-01-Preview 中實作的是複雜類型對應的先前建議,則從 2019-05-06 版本開始將有一些新的和變更的限制需要注意:
子欄位深度和每個索引的複雜集合數目限制已降低。 如果你用預覽版 API 版本建立的索引超過這些限制,任何用 API 版本
2019-05-06更新或重建的嘗試都會失敗。 如果您發現這種情況,您必須重新設計結構描述,以符合新的限制,然後再重建您的索引。從 api-version
2019-05-06開始,每個文件的複雜集合元素數目將有新的限制。 如果您使用預覽 api-version 建立的文件索引超出了這些限制,則任何使用 api 版本2019-05-06對該資料重新編製索引的嘗試都會失敗。 如果您發現這種情況,則必須在重新編製資料索引之前,減少每個文件的複雜集合元素數目。
如需詳細資訊,請參閱 Azure AI 搜尋服務的服務限制。
如何升級舊的複雜類型結構
如果您的程式碼使用複雜類型搭配其中一個較舊的預覽 API 版本,您可以使用如下所示的索引定義格式:
{
"name": "hotels",
"fields": [
{ "name": "HotelId", "type": "Edm.String", "key": true, "filterable": true },
{ "name": "HotelName", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": true, "facetable": false },
{ "name": "Description", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": false, "facetable": false, "analyzer": "en.microsoft" },
{ "name": "Description_fr", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": false, "facetable": false, "analyzer": "fr.microsoft" },
{ "name": "Category", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true, "facetable": true },
{ "name": "Tags", "type": "Collection(Edm.String)", "searchable": true, "filterable": true, "sortable": false, "facetable": true, "analyzer": "tagsAnalyzer" },
{ "name": "ParkingIncluded", "type": "Edm.Boolean", "filterable": true, "sortable": true, "facetable": true },
{ "name": "LastRenovationDate", "type": "Edm.DateTimeOffset", "filterable": true, "sortable": true, "facetable": true },
{ "name": "Rating", "type": "Edm.Double", "filterable": true, "sortable": true, "facetable": true },
{ "name": "Address", "type": "Edm.ComplexType" },
{ "name": "Address/StreetAddress", "type": "Edm.String", "filterable": false, "sortable": false, "facetable": false, "searchable": true },
{ "name": "Address/City", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true, "facetable": true },
{ "name": "Address/StateProvince", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true, "facetable": true },
{ "name": "Address/PostalCode", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true, "facetable": true },
{ "name": "Address/Country", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true, "facetable": true },
{ "name": "Location", "type": "Edm.GeographyPoint", "filterable": true, "sortable": true },
{ "name": "Rooms", "type": "Collection(Edm.ComplexType)" },
{ "name": "Rooms/Description", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": false, "facetable": false, "analyzer": "en.lucene" },
{ "name": "Rooms/Description_fr", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": false, "facetable": false, "analyzer": "fr.lucene" },
{ "name": "Rooms/Type", "type": "Edm.String", "searchable": true },
{ "name": "Rooms/BaseRate", "type": "Edm.Double", "filterable": true, "facetable": true },
{ "name": "Rooms/BedOptions", "type": "Edm.String", "searchable": true },
{ "name": "Rooms/SleepsCount", "type": "Edm.Int32", "filterable": true, "facetable": true },
{ "name": "Rooms/SmokingAllowed", "type": "Edm.Boolean", "filterable": true, "facetable": true },
{ "name": "Rooms/Tags", "type": "Collection(Edm.String)", "searchable": true, "filterable": true, "facetable": true, "analyzer": "tagsAnalyzer" }
]
}
API 版本 2017-11-11-Preview 中引進了定義索引欄位的較新樹狀結構格式。 在新的格式中,每個複雜欄位都有一個欄位集合,其中會定義其子欄位。 在 API 版本 2019-05-06 中,此新格式是採用獨佔方式使用,而且若嘗試使用舊格式建立或更新索引將會失敗。 如果您有使用舊格式建立的索引,您必須使用 API 版本 2017-11-11-Preview 將其更新為新的格式,才能使用 2019-05-06 API 版本進行管理。
您可以使用 API 版本 2017-11-11-Preview,將一般索引更新為新的格式:
執行 GET 要求以擷取您的索引。 如果已是新的格式,則代表擷取已完成。
將索引從一般格式轉譯為新的格式。 您必須為此工作撰寫程式碼,因為在撰寫時沒有可用的範例程式碼。
執行 PUT 要求,將索引更新為新的格式。 避免變更索引的任何其他詳細資料,例如欄位的可搜尋性/可篩選性,因為更新索引 API 不允許進行會影響現有索引實體運算式的變更。
附註
您無法從 Azure 入口網站管理以舊版「一般」格式建立的索引。 請儘早將索引從「平面」表示法升級為「樹狀結構」表示法。
控制平面升級
適用於:2014-07-31-Preview、、 2015-02-28和 2015-08-19
listQueryKeys舊版搜尋管理 API 上的 GET 要求現在已被取代。 建議您移轉至最新的穩定控制平面 API 版本,以使用 listQueryKeys POST 要求。
在現有的程式代碼中,將
api-version參數變更為最新版本 (2025-05-01)。將要求從
GET重新框架為POST:POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listQueryKeys?api-version=2025-05-01 Authorization: Bearer {{token}}如果您使用 Azure SDK,建議您升級至最新版本。
下一步
檢閱搜尋 REST API 參考文件。 如果您遇到問題,請在 Stack Overflow 上尋求協助,或連絡支援人員。