建立 Azure AI 搜尋服務 REST API (索引)

索引是組織及搜尋 Azure AI 搜尋服務中檔的主要方法,類似於數據表如何組織資料庫中的記錄。 每個索引都有一組文件,這些檔全都符合功能變數名稱、數據類型和屬性 () 的索引架構,但索引也會 (建議工具、評分配置檔和CORS組態) 指定其他建構,以定義其他搜尋行為。

您可以在要求上使用 POST 或 PUT。 針對任一個,要求本文中的 JSON 檔會提供物件定義。

POST https://[servicename].search.windows.net/indexes?api-version=[api-version]  
  Content-Type: application/json
  api-key: [admin key]  

或者,您可以使用 PUT,在 URI 中指定索引名稱。

PUT https://[servicename].search.windows.net/indexes/[index name]?api-version=[api-version]
  Content-Type: application/json
  api-key: [admin key]

所有服務要求都需使用 HTTPS。 如果索引不存在,則會建立索引。 如果已經存在,則會更新為新的定義。

建立索引後,將會建立結構描述和中繼資料。 填入索引是一個獨立的操作。 在此步驟中,您可以使用索引器 (請參閱 索引器作業,適用於支持的數據源) 或新增、更新或刪除檔。 在張貼檔時,會產生反向索引。

注意

您可以建立的索引數目上限依定價層而異。 如需詳細資訊,請參閱 服務限制

URI 參數

參數 Description
服務名稱 必要。 將此設定為搜尋服務的唯一用戶定義名稱。
索引名稱 如果使用 PUT,則為 URI 的必要專案。 名稱必須是小寫,開頭為字母或數位、沒有斜線或點,且少於 128 個字元。 名稱的開頭必須是字母或數位,但名稱的其餘部分可以包含任何字母、數位、底線和連字元,只要底線和虛線不是連續的。
api-version 必要。 如需支援的版本清單,請參閱 API 版本

要求標頭

下表說明必要及選用的要求標頭。

欄位 Description
Content-Type 必要。 請設為 application/json
api-key 如果您使用 Azure 角色 ,並在要求上提供持有人令牌,則為選擇性,否則需要密鑰。 建立要求必須包含 api-key 設定為系統管理員密鑰的標頭 (,而不是查詢密鑰) 。 如需詳細資訊,請參閱 使用密鑰驗證連線到 Azure AI 搜尋 服務。

要求本文

要求的主體包含結構描述定義,其中包含文件內會送入此索引中的資料欄位清單。

下列 JSON 是定義主要部分的高階表示法。

{  
  "name": (optional on PUT; required on POST) "Name of the index",  
  "fields": [  
    {  
      "name": "name_of_field",  
      "type": "Edm.String | Edm.Int32 | Edm.Int64 | Edm.Double | Edm.Boolean | Edm.DateTimeOffset | Edm.GeographyPoint | Edm.ComplexType | Collection(Edm.String) | Collection(Edm.Int32) | Collection(Edm.Int64) | Collection(Edm.Double) | Collection(Edm.Boolean) | Collection(Edm.DateTimeOffset) | Collection(Edm.GeographyPoint) | Collection(Edm.ComplexType)",  
      "searchable": true (default where applicable) | false (only Edm.String and Collection(Edm.String) fields can be searchable),  
      "filterable": true (default) | false,  
      "sortable": true (default where applicable) | false (Collection(Edm.String) fields cannot be sortable),  
      "facetable": true (default where applicable) | false (Edm.GeographyPoint fields cannot be facetable),  
      "key": true | false (default, only Edm.String fields can be keys, enable on one field only),  
      "retrievable": true (default) | false,  
      "analyzer": "name_of_analyzer_for_search_and_indexing", (only if 'searchAnalyzer' and 'indexAnalyzer' are not set)
      "searchAnalyzer": "name_of_search_analyzer", (only if 'indexAnalyzer' is set and 'analyzer' is not set)
      "indexAnalyzer": "name_of_indexing_analyzer", (only if 'searchAnalyzer' is set and 'analyzer' is not set)
      "synonymMaps": [ "name_of_synonym_map" ] (optional, only one synonym map per field is currently supported),
      "fields" : [ ... ] (optional, a list of sub-fields if this is a field of type Edm.ComplexType or Collection(Edm.ComplexType). Must be null or empty for simple fields.)
    }
  ],
  "similarity": (optional) { },
  "suggesters": (optional) [ ... ],  
  "scoringProfiles": (optional) [ ... ],  
  "analyzers":(optional) [ ... ],
  "charFilters":(optional) [ ... ],
  "tokenizers":(optional) [ ... ],
  "tokenFilters":(optional) [ ... ],
  "defaultScoringProfile": (optional) "Name of a custom scoring profile to use as the default",  
  "corsOptions": (optional) { },
  "encryptionKey":(optional) { }  
}  

要求可包含下列屬性:

屬性 Description
NAME 必要。 索引的名稱。 索引名稱只能包含小寫字母、數位或破折號,不能以連字元開頭或結尾,且限制為128個字元。
欄位 必要。 將饋送至此索引的欄位集合,包括定義該欄位上可允許動作的名稱、數據類型和屬性。 數據類型符合實體數據模型 (EDM) 。 如需詳細資訊,請參閱支援的資料類型。 集合中必須有一個字段指定為 索引鍵 欄位。 它必須是字串欄位。 此欄位代表儲存索引的每個檔的唯一識別碼,有時稱為文件識別碼。 檔索引鍵會區分大小寫。 例如,索引鍵為 「abc」 的檔案會被視為與索引鍵 「ABC」 的檔不同。
相似度 選擇性。 針對在 2020 年 7 月 15 日之前建立的服務,請將此屬性設定為使用 BM25 排名演算法。 有效值包括 "#Microsoft.Azure.Search.ClassicSimilarity""#Microsoft.Azure.Search.BM25Similarity"。 支援此屬性的 API 版本包括 2020-06-30 和 2019-05-06-Preview。 如需詳細資訊,請參閱 Azure AI 搜尋服務中的排名演算法
建議工具 選擇性。 用於自動完成的查詢或建議的搜尋結果,每個索引一個。 這是一種數據結構,可儲存前置詞以比對部分查詢,例如自動完成和建議。 由 name 和建議工具感知欄位所組成,可提供自動完成查詢和建議結果的內容。 searchMode 為必要專案,且一律設定為 analyzingInfixMatching。 它會指定比對會發生在查詢字串中的任何字詞上。
scoringProfiles 選擇性。 用於自定義搜尋分數排名。 設定 defaultScoringProfile 為使用自定義配置檔做為預設值,每當查詢字串上未指定自定義配置檔時叫用。 如需元素的詳細資訊,請參閱下一節中的 將評分配置檔新增至搜尋索引 和範例。
分析器、charFilters、Tokenizers、tokenFilters 選擇性。 如果您要定義 自定義分析器,請指定索引的這些區段。 根據預設,這些區段為 Null。
defaultScoringProfile 選擇性。 覆寫預設評分行為的自定義評分配置檔名稱。
corsOptions 選擇性。 用戶端 JavaScript 預設無法呼叫任何 API,因為瀏覽器會防止所有跨原始來源的要求。 若要允許對索引進行跨原始來源查詢,請設定 corsOptions 屬性來啟用 CORS (跨原始來源資源共用)。 基於安全緣故,僅查詢 API 才能支援 CORS。 區corsOptions段包含:

allowedOrigins (必要) 將授與索引存取權的來源逗號分隔清單,其中每個原始來源通常屬於格式 protocol://< fully-qualified-domain-name>:<port> (,但<>埠通常會省略) 。 這表示,任何從這些來源提供的 JavaScript 程式碼,都將可查詢您的索引 (假設它提供了正確的 api-key)。 如果您想要允許存取所有原始來源,請將 指定 * 為陣列中的 allowedOrigins 單一專案。 不建議用於生產環境,但對於開發或偵錯可能很有用。

maxAgeInSeconds (選用) 瀏覽器會使用此值來判斷快取 CORS 預檢回應) 秒內 (持續時間。 這必須是非負數的整數。 這個值越大,效能就越好,但是讓 CORS 原則變更生效的時間也就越長。 如果未設定,則會使用預設持續時間 5 分鐘。
encryptionKey 選擇性。 用來加密同義字對應,並使用您自己的密鑰,在 Azure 金鑰保存庫 中管理。 可用於在 2019-01-01 之後建立的可計費搜尋服務。

encryptionKey 段包含使用者定義的 keyVaultKeyName (必要) 、系統產生的 keyVaultKeyVersion (必要) ,以及 keyVaultUri 提供所需的密鑰 (,也稱為 DNS 名稱) 。 範例 URI 可能是 “https://my-keyvault-name.vault.azure.net"。

您可以選擇性地指定 accessCredentials 您是否未使用受控系統識別。 accessCredentials的屬性包括applicationId已授與所指定 Azure 金鑰保存庫) 訪問許可權的 (Microsoft Entra ID 應用程式識別碼,以及 applicationSecret (已註冊應用程式) 的驗證密鑰。 下一節中的範例說明語法。

欄位定義

建立索引時,可以在欄位上設定下列屬性。

屬性 Description
NAME 必要。 設定功能變數名稱,此欄位在索引或父欄位的欄位集合內必須是唯一的。
類型 必要。 設定欄位的資料類型。 欄位可以是簡單或複雜。 簡單欄位屬於基本類型,例如 Edm.String 文字或 Edm.Int32 整數。 複雜欄位 可以有本身為簡單或複雜的子欄位。 這可讓您建立對象和對象的數位模型,進而讓您將大部分的 JSON 對象結構上傳至索引。 如需支援類型的完整清單,請參閱 Azure AI 搜尋) 支援的數據類型 (
索引鍵 必要。 將此屬性設定為 true,以指定欄位的值可唯一識別索引中的檔。 索引鍵欄位中值的最大長度為 1024 個字元。 每個索引中的最上層欄位都必須選擇為索引鍵欄位,而且其類型必須為 Edm.String。 默認為 false 簡單欄位和 null 複雜欄位。

索引鍵欄位可用來直接查閱檔,並更新或刪除特定檔。 查詢或編製檔索引時,索引鍵欄位的值會以區分大小寫的方式處理。 如需詳細資訊 ,請參閱查閱檔 (Azure AI 搜尋 REST API) 新增、更新或刪除檔 (Azure AI 搜尋 REST API)
可擷取 指出是否可以在搜尋結果中傳回欄位。 如果您想要使用欄位 (,請將此屬性 false 設定為 ,例如,邊界) 做為篩選、排序或評分機制,但不想讓使用者看到字段。 此屬性必須 true 適用於索引鍵字段,而且必須 null 適用於複雜欄位。 這個屬性可以在現有的欄位上變更。 將可擷取設定為 true 不會造成任何索引記憶體需求增加。 默認為 true 簡單欄位和 null 複雜欄位。
可搜尋 指出欄位是否可以全文搜索,而且可以在搜尋查詢中參考。 這表示它會在編製索引期間進行 語彙分析 ,例如斷詞。 如果您將可搜尋的字段設定為「天天」之類的值,則內部會將其正規化,並分割成個別的令牌「天」和「日」。 這樣就能針對這些字詞進行全文檢索搜尋。 類型 Edm.StringCollection(Edm.String) 的欄位預設為可搜尋。 此屬性必須 false 適用於其他非字串數據類型的簡單欄位,而且必須 null 適用於複雜欄位。

可搜尋的欄位會耗用索引的額外空間,因為 Azure AI 搜尋會處理這些欄位的內容,並在輔助數據結構中加以組織,以便進行高效能搜尋。 如果您要在索引中節省空間,而且不需要在搜尋中包含欄位,請將 [可搜尋] 設定為 false。 如需詳細資訊 ,請參閱全文搜索在 Azure AI 搜尋中的運作 方式。
可篩選 指出是否要在查詢中 $filter 參考欄位。 可篩選與可搜尋的字串處理方式不同。 類型 Edm.StringCollection(Edm.String) 可篩選的欄位不會進行語彙分析,因此比較僅適用於完全相符專案。 例如,如果您將這類字段 f 設定為「聖日」, $filter=f eq 'sunny' 則找不到相符專案,但 $filter=f eq 'Sunny day' 會。 這個屬性必須 null 適用於複雜欄位。 默認為 true 簡單欄位和 null 複雜欄位。 若要減少索引大小,請將此屬性設定為 false 您不會篩選的欄位。
sortable 指出是否要在表達式中 $orderby 參考欄位。 根據預設,Azure AI 搜尋服務會依分數排序結果,但在許多體驗中,用戶會想要依檔中的欄位排序。 只有在單一值 (在父檔範圍中有單一值時,才能排序簡單欄位) 。

簡單集合欄位無法排序,因為它們是多重值。 複雜集合的簡單子欄位也是多重值,因此無法排序。 不論是直接父欄位或上階字段,都是複雜的集合,都是如此。 複雜欄位無法排序,而且可排序屬性必須 null 適用於這類欄位。 可排序的預設值是 true 針對單一值簡單欄位、 false 多重值簡單欄位,以及 null 複雜欄位。
可面向化 指出是否要在Facet查詢中參考欄位。 通常用於搜尋結果的呈現中,包括依類別排序的點擊計數 (例如,搜尋數字相機,並查看依品牌叫用、依百萬像素、價格等) 。 這個屬性必須 null 適用於複雜欄位。 類型 Edm.GeographyPointCollection(Edm.GeographyPoint) 不可多面向的欄位。 預設為 true 所有其他簡單欄位。 若要減少索引大小,請將此屬性設定為 false 您不會進行 Facet 的字段。
分析儀 設定語彙分析器,以在編製索引和查詢作業期間標記字串。 此屬性的有效值包括語言分析器內建分析器和自定義分析器。 預設為 standard.lucene。 此屬性只能與可搜尋的字串字段搭配使用,而且不能與 searchAnalyzer 或 indexAnalyzer 一起使用。 選擇分析器並在索引中建立字段之後,就無法變更欄位。 必須為null複雜欄位
searchAnalyzer 將此屬性與 indexAnalyzer 搭配設定,以指定用於編製索引和查詢的不同語彙分析器。 如果您使用這個屬性,請將分析器設定為 null ,並確定 indexAnalyzer 已設定為允許的值。 此屬性的有效值包括內建分析器和自定義分析器。 此屬性只能與可搜尋的欄位搭配使用。 搜尋分析器可以在現有欄位上更新,因為它只在查詢時間使用。 必須為null複雜欄位
indexAnalyzer 將此屬性與 searchAnalyzer 搭配設定,以指定用於編製索引和查詢的不同語匯分析器。 如果您使用此屬性,請將分析器設定為 null ,並確定 searchAnalyzer 已設定為允許的值。 此屬性的有效值包括內建分析器和自定義分析器。 此屬性只能與可搜尋的欄位搭配使用。 選擇索引分析器之後,就無法變更欄位。 必須為null複雜欄位
synonymMaps 要與此欄位建立關聯的同義字名稱清單。 此屬性只能與可搜尋的欄位搭配使用。 目前每個欄位只支援一個同義字對應。 將同義字對應指派給字段,可確保以該欄位為目標的查詢詞彙會在查詢時間使用同義字對應中的規則來展開。 這個屬性可以在現有的欄位上變更。 必須是 null 或複雜欄位的空白集合。
fields 如果這是 類型 Edm.ComplexType 為 或 Collection(Edm.ComplexType)的欄位,則為子欄位的清單。 簡單欄位必須是 null 或空白。 如需如何使用子欄位的詳細資訊,請參閱 如何在 Azure AI 搜尋服務中建立複雜數據類型模型

注意

Edm.String類型為可篩選、可排序或可多面向的欄位,長度最多可以是 32 KB。 這是因為這類欄位的值會被視為單一搜尋字詞,而 Azure AI 搜尋服務中字詞的最大長度為 32 KB。 如果您需要在單一字串字段中儲存超過這個的文字,則必須在索引定義中明確設定可篩選、可排序和可 false 面向的 。

將欄位設定為可搜尋、可篩選、可排序或可多面向,會影響索引大小和查詢效能。 請勿在未在查詢表達式中參考的欄位上設定這些屬性。

如果欄位未設定為可搜尋、可篩選、可排序或可 Facet,則無法在任何查詢表示式中參考欄位。 這適用於查詢中未使用的欄位,但在搜尋結果中是必要的。

注意

您可以建立的索引數目上限會因定價層而異。 如需詳細資訊,請參閱 服務限制

回應

若要求成功,應該會看到狀態碼 "201 Created"。

根據預設,響應主體會包含索引定義的 JSON。 不過,如果 Prefer 要求標頭設定為 return=minimal,則回應本文是空的,而成功狀態代碼為 “204 No Content”,而不是 “201 Created”。 無論是否使用 PUT 或 POST 來建立索引,都是如此。

範例

範例:索引架構

{
  "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", 
      "fields": [
          { "name": "StreetAddress", "type": "Edm.String", "filterable": false, "sortable": false, "facetable": false, "searchable": true },
          { "name": "City", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true, "facetable": true },
          { "name": "StateProvince", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true, "facetable": true },
          { "name": "PostalCode", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true, "facetable": true },
          { "name": "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)", 
      "fields": [
          { "name": "Description", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": false, "facetable": false, "analyzer": "en.lucene" },
          { "name": "Description_fr", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": false, "facetable": false, "analyzer": "fr.lucene" },
          { "name": "Type", "type": "Edm.String", "searchable": true },
          { "name": "BaseRate", "type": "Edm.Double", "filterable": true, "facetable": true },
          { "name": "BedOptions", "type": "Edm.String", "searchable": true },
          { "name": "SleepsCount", "type": "Edm.Int32", "filterable": true, "facetable": true },
          { "name": "SmokingAllowed", "type": "Edm.Boolean", "filterable": true, "facetable": true },
          { "name": "Tags", "type": "Collection(Edm.String)", "searchable": true, "filterable": true, "facetable": true, "analyzer": "tagsAnalyzer" }
        ]
    }
  ],
  "suggesters": [
      { "name": "sg", "searchMode": "analyzingInfixMatching", "sourceFields": ["HotelName"] }
  ],
  "analyzers": [
    {
      "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer",
      "name": "tagsAnalyzer",
      "charFilters": [ "html_strip" ],
      "tokenizer": "standard_v2"
    }
  ]
}  

範例:建議工具

 "suggesters": [  
   {  
     "name": "name of suggester",  
     "searchMode": "analyzingInfixMatching",  
     "sourceFields": ["field1", "field2", ...]  
   }  
 ]

根據您想要傳回相符專案或查詢字詞其餘部分而定, 建議工具 會依名稱參考包含 建議 API自動完成 API 的查詢要求。 如需建立和使用建議工具的詳細資訊,請參閱 建立建議工具

範例:搜尋相關性的相似度

此屬性會設定用來在全文搜索查詢的搜尋結果中建立相關性分數的排名演算法。 在 2020 年 7 月 15 日 之後 建立的服務中,會忽略此屬性,因為相似度演算法一律為 BM25。 針對在 2020 年 7 月 15 日 之前 建立的現有服務,您可以藉由設定此建構來選擇加入 BM25,如下所示:

 "similarity": {
     "@odata.type": "#Microsoft.Azure.Search.BM25Similarity"
 }

範例:CORS 選項

用戶端 JavaScript 預設無法呼叫任何 API,因為瀏覽器會防止所有跨原始來源的要求。 若要允許對索引進行跨原始來源查詢,請藉由設定 corsOptions 屬性來啟用CORS (跨原始來源資源分享 (Wikipedia) ) 。 基於安全緣故,僅查詢 API 才能支援 CORS。

{
   "name": "hotels",  
   "fields": [ omitted for brevity],
   "suggesters": [ omitted for brevity  ],
   "analyzers": [ omitted for brevity ],
   "corsOptions": (optional) {  
       "allowedOrigins": ["*"] | ["https://docs.microsoft.com:80", "https://azure.microsoft.com:80", ...],  
       "maxAgeInSeconds": (optional) max_age_in_seconds (non-negative integer)  
     }
}

範例:加密金鑰

加密金鑰是用於其他加密的客戶自控金鑰。 如需詳細資訊,請參閱在 Azure 金鑰保存庫 中使用客戶管理的密鑰加密

{
    "name": "hotels",  
    "fields": [ omitted for brevity],
    "suggesters": [ omitted for brevity  ],
    "analyzers": [ omitted for brevity ],
    "encryptionKey": (optional) { 
      "keyVaultKeyName": "Name of the Azure Key Vault key used for encryption",
      "keyVaultKeyVersion": "Version of the Azure Key Vault key",
      "keyVaultUri": "URI of Azure Key Vault, also referred to as DNS name, that provides the key. An example URI might be https://my-keyvault-name.vault.azure.net",
      "accessCredentials": (optional, only if not using managed system identity) {
        "applicationId": "AAD Application ID that was granted access permissions to your specified Azure Key Vault",
        "applicationSecret": "Authentication key of the specified AAD application)"}
      }
} 

範例:評分配置檔

評分配置檔是架構的區段,定義自定義評分行為,讓您影響哪些檔出現在搜尋結果中較高。 評分設定檔是由欄位權數和函式所組成。 若要使用它們,您可以在查詢字串上以名稱指定設定檔。 如需詳細資訊,請參閱 將評分配置檔新增至搜尋索引 以取得詳細數據。

{
   "name": "hotels",  
   "fields": [ omitted for brevity],
   "suggesters": [ omitted for brevity  ],
   "analyzers": [ omitted for brevity ],
   "scoringProfiles": [  
   {  
     "name": "name of scoring profile",  
     "text": (optional, only applies to searchable fields) {  
       "weights": {  
         "searchable_field_name": relative_weight_value (positive #'s),  
         ...  
       }  
     },  
     "functions": (optional) [  
       {  
         "type": "magnitude | freshness | distance | tag",  
         "boost": # (positive number used as multiplier for raw score != 1),  
         "fieldName": "...",  
         "interpolation": "constant | linear (default) | quadratic | logarithmic",  
         "magnitude": {  
           "boostingRangeStart": #,  
           "boostingRangeEnd": #,  
           "constantBoostBeyondRange": true | false (default)  
         },  
         "freshness": {  
           "boostingDuration": "..." (value representing timespan leading to now over which boosting occurs)  
         },  
         "distance": {  
           "referencePointParameter": "...", (parameter to be passed in queries to use as reference location)  
           "boostingDistance": # (the distance in kilometers from the reference location where the boosting range ends)  
         },  
         "tag": {  
           "tagsParameter": "..." (parameter to be passed in queries to specify a list of tags to compare against target fields)  
         }  
       }  
     ],  
     "functionAggregation": (optional, applies only when functions are specified)   
       "sum (default) | average | minimum | maximum | firstMatching"  
       }  
 ]
}

範例:同義字對應

在搜尋服務上 建立同義字對應 之後,您可以將它指派給 searchable 類型 Edm.StringCollection(Edm.String) 索引中的欄位。 下列索引定義會將 [內容類型] 字段設定為使用同義字對應 'mysynonymmap'。

您可以使用 更新索引 ,將此屬性新增至現有的欄位。 欄位屬性 synonymMaps 會指定每個欄位) 一個地圖 (。 您可以隨時更新 synonymMaps 現有欄位的屬性。

如往常一樣查詢, (以引弧括住的字詞或片語) 。 在 Azure AI 搜尋服務中,兩部分字詞,例如「熱擷取」,必須以片語表示,否則會獨立評估每個字詞。 如果您查詢「熱流覽」,搜尋引擎將會掃描該片語,以及您已定義的同義字,例如快取。

POST /indexes?api-version=2020-06-30
{
    "name":"myindex",
    "fields":[
    ...
        {
            "name":"genre",
            "type":"Edm.String",
            "searchable":true,
            "analyzer":"en.lucene",
            "synonymMaps": [
                "mysynonymmap"
            ]
        }
    ]
    ...
}

另請參閱